Information storage medium, information reproducing apparatus, and information reproducing method

ABSTRACT

According to one embodiment, an information storage medium, and the program comprises referring to a manifest from a playlist that manages playback presentation of a playback presentation object, referring to one of a markup and a script from the manifest, monitoring defining of a name corresponding to an event in the markup, and generation of an event in response to the name corresponding to the event defined in the markup using an event listener in the script, and designating function contents that execute processing when the event is generated.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority fromJapanese Patent Application No. 2005-302319, filed Oct. 17, 2005, theentire contents of which are incorporated herein by reference.

BACKGROUND

1. Field

One embodiment of the invention relates to an information playbacksystem using information storage medium such as an optical disc.

2. Description of the Related Art

In recent years, DVD-Video discs having high image quality and advancedfunctions, and video players which play back these discs have prevailed,and peripheral devices and the like used to play back such multi-channelaudio data have broader options. Accordingly, for content users, anenvironment for personally implementing a home theater that allows theusers to freely enjoy movies, animations, and the like with high imagequality and high sound quality has become available.

Further, utilizing a network to acquire image information from a serveron the network and playing back/displaying the acquired information by adevice on a user side have been readily carried out. For example,Japanese Patent No. 3673166 (FIGS. 2 to 5, FIGS. 11 to 14 and the like)discloses supplying information to a device of a user who wants toaccept advertisement through a web site in the Internet and displayinginformation in the device of the user.

However, current web sites on the Internet are mostly “static screens”as described in the reference. Even if animation or some moving picturescan be displayed in web sites, it is difficult to realize a variety ofexpressions in which timings of display start/display end of theanimation or moving picture or a switching timing of the movingpicture/animation are intricately programmed.

Furthermore, even if a moving picture can be expressed on a web site, itis often the case that the moving picture to be displayed is interrupted(playback is stopped) in midstream depending on an network environment(a network throughput value) of a user.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

A general architecture that implements the various feature of theinvention will now be described with reference to the drawings. Thedrawings and the associated descriptions are provided to illustrateembodiments of the invention and not to limit the scope of theinvention.

FIG. 1 is an exemplary diagram showing the arrangement of a systemaccording to an embodiment of the invention;

FIGS. 2A, 2B, and 2C are exemplary tables showing the needs from usersand the like for the existing DVD-Video standards and problems posedwhen the related existing DVD-Video standards are extended, andsolutions of the embodiment of the invention and new effects as a resultof the solutions of the embodiment of the invention;

FIGS. 3A and 3B are exemplary views showing an example of video contentplayback method by an information recording and playback apparatus;

FIG. 4 shows an exemplary data structure of a standard content;

FIG. 5 is an exemplary view showing various categories of informationstorage media;

FIG. 6 is an exemplary diagram showing transitions upon playback of theadvanced content and upon playback of the standard content;

FIG. 7 is an exemplary flowchart showing a medium identificationprocessing method by an information playback apparatus when aninformation storage medium is mounted;

FIG. 8 is an exemplary flowchart showing a startup sequence in aninformation playback apparatus of only audio;

FIG. 9 is an exemplary view showing different access methods to twodifferent types of contents;

FIG. 10 is an exemplary view for explaining the relationship amongvarious objects;

FIG. 11 is an exemplary view showing the file configuration when variousobject streams are recorded on an information storage medium;

FIG. 12 is an exemplary views showing the data structure of an advancedcontent;

FIGS. 13A and 13B are exemplary views for explaining technical featuresand effects concerning the structure shown in FIG. 12;

FIG. 14 is an exemplary block diagram showing the internal structure ofan advanced content playback unit;

FIGS. 15A and 15B are exemplary views showing examples of video contentplayback methods by an information recording and playback apparatus;

FIG. 16 shows an exemplary presentation window at point α when a maintitle, another window for a commercial, and a help icon aresimultaneously presented in (c) of FIG. 15B;

FIG. 17 is an exemplary view showing an overview of information in aplaylist;

FIG. 18 is an exemplary view showing the relationship between variouspresentation clip elements and corresponding object names of objects tobe presented and used;

FIG. 19 is an exemplary view showing a method of designating a filestorage location;

FIG. 20 is an exemplary view showing a path designation descriptionmethod to a file;

FIG. 21 is an exemplary view showing the data structure in a playlistfile;

FIG. 22 is an exemplary view showing details contents of respectivepieces of attribute information in an XML tag and playlist tag;

FIGS. 23A and 23B are exemplary views showing details of titleinformation in a playlist;

FIGS. 24A and 24B are exemplary views showing details of title attributeinformation, object mapping information, and playback information;

FIG. 25 is an exemplary view showing the data flow in an advancedcontent playback unit;

FIG. 26 is an exemplary view showing the structure in a data accessmanager;

FIG. 27 is an exemplary view showing the structure in a data cache;

FIG. 28 is an exemplary view showing the structure in a navigationmanager;

FIG. 29 is an exemplary view showing a state transition chart of anadvanced content player;

FIG. 30 is an exemplary view showing the structure in a presentationengine;

FIG. 31 is an exemplary view showing the structure in an advancedapplication presentation engine;

FIG. 32 is an exemplary view showing a graphic process model in thepresentation engine;

FIG. 33 is an exemplary view showing the structure in an advancedsubtitle player;

FIG. 34 is an exemplary view showing the structure in a font renderingsystem;

FIG. 35 is an exemplary view showing the structure in a secondary videoplayer;

FIG. 36 is an exemplary view showing the structure in a primary videoplayer;

FIG. 37 is an exemplary view showing the structure in a decoder engine;

FIG. 38 is an exemplary view showing the structure in an AV renderer;

FIG. 39 is an exemplary view showing respective frame layers on thepresentation frame;

FIG. 40 is an exemplary view showing a presentation model in a graphicplane;

FIG. 41 is an exemplary view showing a video composition model;

FIG. 42 is an exemplary view showing an audio mixing model;

FIG. 43 is an exemplary view showing a data supply model from a networkserver and persistent storage memory;

FIG. 44 is an exemplary view showing a user input handling model;

FIG. 45 is an exemplary view showing a list of user input events;

FIG. 46 is an exemplary view showing a list of player parameters;

FIG. 47 is an exemplary view showing a list of profile parameters;

FIG. 48 is an exemplary view showing a list of presentation parameters;

FIG. 49 is an exemplary view showing a list of layout parameters;

FIG. 50 is an exemplary view showing a sequence at the time of start-upwith respect to advanced contents;

FIG. 51 is an exemplary view showing an update sequence at the time ofplaying back advanced contents;

FIG. 52 is an exemplary view showing a sequence at the time of playingback both advanced contents and standard contents;

FIG. 53 is an exemplary view showing a relationship between variouskinds of time information in object mapping information in a playlist;

FIGS. 54A and 54B are exemplary views showing data structures in aprimary audio video clip element tag and a secondary video clip elementtag;

FIGS. 55A and 55B are exemplary views showing data structures in asubstitute audio video clip element tag and a substitute audio clipelement tag;

FIGS. 56A and 56B are exemplary views showing data structures in anadvanced subtitle segment element tag and an application element tag;

FIG. 57 is an exemplary view showing a setting example of attributeinformation and language attribute information of an application block;

FIG. 58 is an exemplary view showing a relationship between eachcombination of various kinds of application activation information and avalidity judgment of an advanced application;

FIGS. 59A, 59B and 59C are exemplary views showing data structures in avideo element, an audio element, a subtitle element and an sub audioelement;

FIG. 60 is an exemplary view showing a relationship between a track typeand a track number assign element;

FIGS. 61A, 61B and 61C are exemplary views showing description examplesof track number assign information;

FIGS. 62A, 62B and 62C are exemplary views showing information contentswritten in each element in track navigation information and descriptionexamples;

FIGS. 63A, 63B and 63C are exemplary views showing data structures in anapplication resource element and a network source element;

FIGS. 64A and 64B are exemplary views showing transition of data storagestates in a file cache in a resource management model;

FIGS. 65A, 65B, 65C and 65D are exemplary views showing aloading/execution processing method of an advanced application based onresource information;

FIGS. 66A, 66B and 66C are exemplary views showing a data structure inresource information;

FIG. 67 is an exemplary view showing a network source extraction modeloptimum for a network environment using a network source element;

FIG. 68 is an exemplary view showing an optimal network sourceextraction method using a network source element;

FIGS. 69A and 69B are exemplary views showing a data structure in aplaylist application element;

FIG. 70 is an exemplary view showing a relationship between a playlistapplication resource, a title resource and an application resource;

FIG. 71 is an exemplary explanatory view of a structure depicted in FIG.70;

FIG. 72 is an exemplary view showing specific examples of displaysscreens γ, δ and ε based on the example of FIG. 70;

FIGS. 73A and 73B are exemplary views showing a relationship between afirst play title and a playlist application resource;

FIGS. 74A and 74B are exemplary views showing a data structure in afirst play title element;

FIGS. 75A and 75B are exemplary views showing a data structure in ascheduled control information;

FIGS. 76A and 76B are exemplary views showing use examples of an eventelement;

FIGS. 77A and 77B are exemplary views showing a use example of an eventelement;

FIG. 78 is an exemplary view showing a method of displaying an advancedsubtitle in synchronization with a title timeline based on the exampleof FIGS. 77A and 77B;

FIGS. 79A and 79B are exemplary views showing a data structure in mediaattribute information;

FIG. 80 is an exemplary view showing a data structure in configurationinformation existing in a playlist;

FIG. 81 is an exemplary view showing a data structure in a manifestfile;

FIG. 82 is an exemplary explanatory view about an element having IDinformation in a playlist;

FIG. 83 is an exemplary view showing a description example in a playlistmainly focusing on a storage position of each playback/display object;

FIG. 84 is an exemplary view showing a description example of managementinformation mainly focusing on a display screen of each playback/displayobject;

FIG. 85 is a diagram to help explain the data structure of the time mapin a primary video set according to the embodiment;

FIG. 86 is a diagram to help explain the data structure of managementinformation in a primary video set according to the embodiment;

FIG. 87 is a diagram to help explain the data structure of a primaryenhanced video object according to the embodiment;

FIG. 88 is a diagram to help explain the data structure of the time mapin a secondary video set according to the embodiment;

FIG. 89 is a diagram to help explain the data structure of a secondaryenhanced video object according to the embodiment;

FIG. 90 is a diagram to help explain the data structure of an element(xml descriptive sentence) according to the embodiment;

FIGS. 91A and 91B are a diagram to help explain the data structure of amarkup descriptive sentence according to the embodiment;

FIG. 92 is a diagram to help explain a display example of a subtitle (orticker) on a markup according to the embodiment;

FIG. 93 is a diagram to help explain attribute information used in acontent element according to the embodiment;

FIG. 94 is a diagram to help explain attribute information used in eachelement belonging to a timing vocabulary according to the embodiment;

FIGS. 95A and 95B a diagram to help explain various types of attributeinformation defined as options in a style name space according to theembodiment;

FIGS. 96A and 96B are a diagram to help explain various types ofattribute information defined as options in the style name spaceaccording to the embodiment;

FIGS. 97A and 97B are a diagram to help explain various types ofattribute information defined as options in the style name spaceaccording to the embodiment;

FIG. 98 is a diagram to help explain various types of attributeinformation defined as options in a state name space according to theembodiment;

FIG. 99 is a diagram to help explain attribute information and contentinformation in the content element of FIG. 91;

FIG. 100 is a diagram to help explain attribute information and contentinformation in each element belonging to the timing vocabulary of FIG.91;

FIGS. 101A and 101B are a diagram to help explain how to use and how todescribe select attribute information shown in FIGS. 100 and 94;

FIGS. 102A and 102B are a diagram to help explain another describingmethod of FIG. 92 when select information shown in FIGS. 101A and 101Bare used;

FIGS. 103A and 103B show a list describing various system events in theembodiment;

FIG. 104 shows a relationship between markups and scripts in an advancedapplication according to the embodiment;

FIG. 105 shows a relationship between markups/scripts and API commandsin the embodiment;

FIGS. 106A and 106B are explanatory view No. 1 of various API commandsaccording to the embodiment;

FIGS. 107A and 107B are explanatory view No. 2 of various API commandsaccording to the embodiment;

FIGS. 108A and 108B are explanatory view No. 3 of various API commandsaccording to the embodiment;

FIGS. 109A and 109B are explanatory view No. 4 of various API commandsaccording to the embodiment;

FIGS. 110A and 110B are explanatory view No. 5 of various API commandsaccording to the embodiment;

FIG. 111 is flowchart No. 1 showing the function contents in APIcommands according to the embodiment;

FIG. 112 is flowchart No. 2 showing the function contents in APIcommands according to the embodiment;

FIG. 113 is flowchart No. 3 showing the function contents in APIcommands according to the embodiment;

FIG. 114 is flowchart No. 4 showing the function contents in APIcommands according to the embodiment;

FIG. 115 is flowchart No. 5 showing the function contents in APIcommands according to the embodiment;

FIG. 116 is flowchart No. 6 showing the function contents in APIcommands according to the embodiment;

FIG. 117 is flowchart No. 7 showing the function contents in APIcommands according to the embodiment;

FIG. 118 is flowchart No. 8 showing the function contents in APIcommands according to the embodiment;

FIG. 119 is flowchart No. 9 showing the function contents in APIcommands according to the embodiment;

FIG. 120 is flowchart No. 10 showing the function contents in APIcommands according to the embodiment;

FIG. 121 is flowchart No. 11 showing the function contents in APIcommands according to the embodiment;

FIG. 122 is flowchart No. 12 showing the function contents in APIcommands according to the embodiment;

FIG. 123 is flowchart No. 13 showing the function contents in APIcommands according to the embodiment;

FIG. 124 is flowchart No. 14 showing the function contents in APIcommands according to the embodiment;

FIG. 125 is flowchart No. 15 showing the function contents in APIcommands according to the embodiment;

FIG. 126 is flowchart No. 16 showing the function contents in APIcommands according to the embodiment;

FIG. 127 is flowchart No. 17 showing the function contents in APIcommands according to the embodiment;

FIG. 128 is flowchart No. 18 showing the function contents in APIcommands according to the embodiment;

FIG. 129 is flowchart No. 19 showing the function contents in APIcommands according to the embodiment;

FIG. 130 is flowchart No. 20 showing the function contents in APIcommands according to the embodiment;

FIG. 131 is flowchart No. 21 showing the function contents in APIcommands according to the embodiment;

FIG. 132 is flowchart No. 22 showing the function contents in APIcommands according to the embodiment;

FIG. 133 is flowchart No. 23 showing the function contents in APIcommands according to the embodiment;

FIG. 134 is flowchart No. 24 showing the function contents in APIcommands according to the embodiment;

FIG. 135 is flowchart No. 25 showing the function contents in APIcommands according to the embodiment;

FIG. 136 is flowchart No. 26 showing the function contents in APIcommands according to the embodiment;

FIG. 137 is flowchart No. 27 showing the function contents in APIcommands according to the embodiment;

FIG. 138 is flowchart No. 28 showing the function contents in APIcommands according to the embodiment;

FIG. 139 is flowchart No. 29 showing the function contents in APIcommands according to the embodiment;

FIG. 140 is flowchart No. 30 showing the function contents in APIcommands according to the embodiment;

FIG. 141 is flowchart No. 31 showing the function contents in APIcommands according to the embodiment;

FIG. 142 is flowchart No. 32-1 showing the function contents in APIcommands according to the embodiment;

FIG. 143 is flowchart No. 32-2 showing the function contents in APIcommands according to the embodiment;

FIG. 144 is flowchart No. 33 showing the function contents in APIcommands according to the embodiment;

FIG. 145 is flowchart No. 34 showing the function contents in APIcommands according to the embodiment;

FIG. 146 is flowchart No. 35 showing the function contents in APIcommands according to the embodiment;

FIG. 147 is flowchart No. 36 showing the function contents in APIcommands according to the embodiment;

FIG. 148 is flowchart No. 37 showing the function contents in APIcommands according to the embodiment;

FIG. 149 is flowchart No. 38 showing the function contents in APIcommands according to the embodiment;

FIG. 150 is flowchart No. 39 showing the function contents in APIcommands according to the embodiment;

FIG. 151 is flowchart No. 40 showing the function contents in APIcommands according to the embodiment;

FIG. 152 is flowchart No. 41 showing the function contents in APIcommands according to the embodiment;

FIG. 153 is flowchart No. 42 showing the function contents in APIcommands according to the embodiment;

FIG. 154 is flowchart No. 43 showing the function contents in APIcommands according to the embodiment;

FIG. 155 is flowchart No. 44 showing the function contents in APIcommands according to the embodiment;

FIG. 156 is flowchart No. 45 showing the function contents in APIcommands according to the embodiment;

FIG. 157 is flowchart No. 46 showing the function contents in APIcommands according to the embodiment;

FIG. 158 is flowchart No. 47 showing the function contents in APIcommands according to the embodiment;

FIG. 159 is flowchart No. 48 showing the function contents in APIcommands according to the embodiment;

FIGS. 160A and 160B are flowchart No. 49 showing the function contentsin API commands according to the embodiment;

FIG. 161 is an explanatory view of a buffer model in a file cache uponguaranteeing synchronous playback presentation according to theembodiment;

FIG. 162 is an explanatory view of a buffer model in a file cache uponguaranteeing overflow prevention according to the embodiment;

FIG. 163 is an explanatory view of a buffer model upon temporarilysaving data in a streaming buffer according to the embodiment;

FIG. 164 is an explanatory view of an example of the settings of theloading and playback presentation timings of streaming according to theembodiment;

FIG. 165 is a comparison explanatory view of download types of aplayback presentation object and application source according to theembodiment;

FIG. 166 is an explanatory view of the playback presentation timing of asoft-sync application according to the embodiment; and

FIG. 167 is an explanatory view of the playback presentation timing of ahard-sync application according to the embodiment.

DETAILED DESCRIPTION

Various embodiments according to the invention will be describedhereinafter with reference to the accompanying drawings. In general,according to one embodiment of the invention, an information storagemedium stores a program which refers to a manifest on the basis of aplaylist that manages the reproduction and display of presentationobjects and further refers to either a markup or a script on the basisof the manifest, with a name corresponding to an event being defined inthe markup and an event listener being caused to monitor in the scriptthe occurrence of an event in response to the name corresponding to theevent defined in the markup, and which specifies a function to beperformed when the event has occurred.

In the embodiment, as shown in FIG. 12, the following are possible:

1. Accessing/managing is done on this route: playlist PLLST→manifestMNFST→markup MRKUP.

2. In the markup MRKUP, a name corresponding to an event is defined. Inthe script SCRPT, an event listener is caused to monitor the occurrenceof an event in response to the name corresponding to the event definedin the markup MRKUP. When the event has occurred, a function to beperformed is specified.

In this embodiment, as shown in FIG. 12, the following are possible:

1. Primary enhanced video objects P-EVOB are accessed and managed in thefollowing path: playlist PLLST→time map PTMAP→enhanced video objectinformation EVOBI→primary enhanced video object P-EVOB.

2. Secondary enhanced video objects S-EVOB are accessed and managed inthe following path: playlist PLLST→time map STMAP→secondary enhancedvideo object S-EVOB.

Since in any path, a time map never fails to be used, this makes itpossible to maintain a high compatibility with the existing VideoRecording standard which manages the playback display range using timeinformation and which comes already equipped with time map informationused to convert the time information into address information. Moreover,since enhanced video object information EVOBI is used as managementinformation related to primary enhanced video objects P-EVOB, this makesit possible to maintain the compatibility with the existing DVD-Videostandard.

<System Arrangement>

FIG. 1 is a diagram showing the arrangement of a system according to anembodiment of the invention.

This system comprises an information recording and playback apparatus(or an information playback apparatus) 1 which is implemented as apersonal computer (PC), a recorder, or a player, and an informationstorage medium DISC implemented as an optical disc which is detachablefrom the information recording and playback apparatus 1. The system alsocomprises a display 13 which displays information stored in theinformation storage medium DISC, information stored in a persistentstorage PRSTR, information obtained from a network server NTSRV via arouter 11, and the like. The system further comprises a keyboard 14 usedto make input operations to the information recording and playbackapparatus 1, and the network server NTSRV which supplies information viathe network. The system further comprises the router 11 which transmitsinformation provided from the network server NTSRV via an optical cable12 to the information recording and playback apparatus 1 in the form ofwireless data 17. The system further comprises a wide-screen TV monitor15 which displays image information transmitted from the informationrecording and playback apparatus 1 as wireless data, and loudspeakers16-1 and 16-2 which output audio information transmitted from theinformation recording and playback apparatus 1 as wireless data.

The information recording and playback apparatus 1 comprises aninformation recording and playback unit 2 which records and plays backinformation on and from the information storage medium DISC, and apersistent storage drive 3 which drives the persistent storage PRSTRthat includes a fixed storage (flash memory or the like), removablestorage (secure digital (SD) card, universal serial bus (USB) memory,portable hard disk drive (HDD), and the like). The apparatus 1 alsocomprises a recording and playback processor 4 which records and playsback information on and from a hard disk device 6, and a main centralprocessing unit (CPU) 5 which controls the overall information recordingand playback apparatus 1. The apparatus 1 further comprises the harddisk device 6 having a hard disk for storing information, a wirelesslocal area network (LAN) controller 7-1 which makes wirelesscommunications based on a wireless LAN, a standard content playback unitSTDPL which plays back a standard content STDCT (to be described later),and an advanced content playback unit ADVPL which plays back an advancedcontent ADVCT (to be described later).

The router 11 comprises a wireless LAN controller 7-2 which makeswireless communications with the information recording and playbackapparatus 1 based on the wireless LAN, a network controller 8 whichcontrols optical communications with the network server NTSRV, and adata manager 9 which controls data transfer processing.

The wide-screen TV monitor 15 comprises a wireless LAN controller 7-3which makes wireless communications with the information recording andplayback apparatus 1 based on the wireless LAN, a video processor 24which generates video information based on information received by thewireless LAN controller 7-3, and a video display unit 21 which displaysthe video information generated by the video processor 24 on thewide-screen TV monitor 15.

Note that the detailed functions and operations of the system shown inFIG. 1 will be described later.

<Points of This Embodiment>

1. An advanced content playback unit ADVPL includes a data accessmanager DAMNG, a navigation manager NVMNG, a data cache DTCCH, apresentation engine PRSEN, and an AV renderer AVRND (see FIG. 14).

2. The navigation manager NVMNG includes a playlist manager PLMNG, aparser PARSER, and an advanced application manager ADAMNG (see FIG. 28).

3. A frame to be presented to the user is obtained by compositing a mainvideo plane MNVDPL, a sub video plane SBVDPL, and a graphic plane GRPHPL(see FIG. 39).

User requests to the next generation standards based on the existingDVD-Video and problems posed when the related existing DVD-Videostandards are expanded, and solutions of the embodiment of the inventionand new effects as a result of such solutions will be described belowwith reference to FIGS. 2A, 2B, and 2C. There are three followingprominent request functions demanded by the users for thecurrent-generation DVD-Video standards:

1. Flexible and Diversified Expressive Power (to Assure Expressive PowerClose to Window Presentation of an Existing Personal Computer)

2. Network Actions

3. Easy Processing of Video Related Information and Easy Transmission ofInformation After Processing

When the request function of “1. flexible and diversified expressivepower” listed first is to be made by only a minor change of the existingDVD-Video standards, since user requests are of too greater variety, thefollowing problem is posed. That is, such need cannot be met by only acustom-made like minor change of the data structure in the existingDVD-Video standards. As technical device contents to solve this problem,this embodiment adopts expression formats in the PC world havingversatility, and newly introduces the concept of timeline. As a result,according to this embodiment, the following new effects can be obtained.

1] Make flexible and impressive reactions in response to user's actions:

1.1) Make response by means of change in animation and image at the timeof button selection or execution instruction;

1.2) Make voice response at the time of button selection or executioninstruction;

1.3) Start execution operation at purposely delayed timing in responseto user's execution instruction;

1.4) Give voice answer to help (like PC); and

1.5) Audibly and visually output how to use guide of menu, etc.

2] Allow flexible switching processing for video information itself andits playback method:

2.1) Switching presentation of audio information;

2.2) Switching presentation of subtitle information (telop, subtitle,still picture icon, etc.)

2.3) Allow enlarged-scale presentation of subtitle according to user'sfavor;

2.4) Allow user to mark subtitle and to issue subtitle executioncommand; and

2.5) Mark specific video part in synchronism with comment while moviedirector is making that comment.

3] Simultaneously present independent information to be superimposed onvideo information during playback:

3.1) Simultaneously present a plurality of pieces of video informationby means of multi-windows;

3.2) Allow to freely switch window size of each of multi-windows;

3.3) Simultaneously present prior audio message and after-recorded audiomessage by user;

3.4) Simultaneously present scrolling text to be superimposed on videoinformation; and

3.5) Simultaneously present graphic menus and figures (of selectbuttons, etc.) in flexible forms.

4] Allow easy search to video location to be seen:

4.1) Conduct keyword (text) search of location to be seen usingpull-down menu.

As for 2, “Realization of flexible responses to various actions vianetwork,” above, a disjunction between the data structure specified bythe existing DVD-Video standards and a network compatible window is toolarge. As technical device contents to solve this problem, thisembodiment adopts a homepage presentation format (XML and scripts) of aWeb which has a good track record in window expression of a network as abasic part of the data management structure, and adjusts a videoplayback management format to it. As a result, according to theembodiment of the invention, the following new effects can be obtained.

5] Provide update function of information on disc using network:

5.1) Automatic updating of object information and intra-disc managementinformation;

5.2) Network downloading of how to use guide of menus;

5.3) Notification of automatic updating of information to user;

5.4) Notification of OK/NG of update information presentation to user;and

5.5) Manual update function by user.

6] Real-time online processing:

6.1) Switching or mixing processing to audio information downloaded vianetwork upon video playback (commentary presentation by means of voiceof movie director);

6.2) Network shopping; and

6.3) Interactive real-time video change.

7] Real-time information sharing with another user via network:

7.1) Simultaneously present specific window even for another user atremote place;

7.2) Play battle game or interactive game with another user at remoteplace;

7.3) Participate in chatting during video playback; and

7.4) Transmit or receive message to or from fan club simultaneously withvideo playback.

When 3, “Realization of easy processing of video related information andeasy transmission of information after processing,” above, is to beimplemented by a minor change of the existing DVD-Video standards,complicated edit processing cannot be flexibly and easily coped with. Inorder to flexibly and easily cope with the complicated edit processing,a new management data structure is needed. As technical device contentsto solve this problem, this embodiment adopts XML and the concept oftimeline to be described later. As a result, according to the embodimentof the invention, the following new effects can be obtained.

8] Allow user to select and generate playlist and to transmit it:

8.1) Allow user to select or generate playlist;

8.2) Allow user to transmit playlist selected or generated by him or herto friend;

8.3) Allow to play back playlist selected or generated by user only onspecific disc;

8.4) Allow user to also select collection of highlight scenes of videoinformation;

8.5) Publish scrapbook that captures favorite frames in videoinformation on Web; and

8.6) Store and play back angles or scenes in multi-angles ormulti-scenes selected by user.

9] Allow user to append specific information related with videoinformation and to transmit result via network:

9.1) Allow user to add comment about video information, and to share itwith another user on network;

9.2) Paste input image to character's face in video information;

9.3) Paste user information or experience information upon seeing videoinformation onto image information; and

9.4) Use user information in parental lock to impose automaticlimitation on video information to be presented.

10] Automatically save playback log information:

10.1) Provide automatic saving function of resume (playback pause)information;

10.2) Automatically save halfway information of game progress untilprevious time; and

10.3) Automatically save previous playback environment (battle gameenvironment with a plurality of users, etc.).

Descriptions will be given as to a basic concept concerning a dataprocessing method or a data transfer method and a program structure inthis embodiment with reference to FIGS. 3A and 3B. A horizontal solidline on a right-hand side in FIGS. 3A and 3B represents data transfer 67of contents in an information recording and playback apparatus 1according to this embodiment, and a horizontal broken line means acommand 68 transferred from a playlist manager PLMNG in a navigationmanager NVMNG depicted in FIG. 28 to each part in an advanced contentplayback unit ADVPL. The advanced content playback unit ADVPL exists inthe information recording and playback apparatus 1 depicted in FIG. 1. Astructure in the advanced content playback unit ADVPL has aconfiguration depicted in FIG. 14. A persistent storage PRSTR shown in avertical column on the right-hand side in FIGS. 3A and 3B corresponds toa persistent storage PRSTR in FIG. 14, and a network server NTSRV shownin a vertical column in FIGS. 3A and 3B corresponds to a network serverNTSRV in FIG. 14.

Moreover, an information storage medium DISC shown in a vertical columnin FIGS. 3A and 3B corresponds to an information storage medium DISCdepicted in FIG. 14. Additionally, a presentation engine PRSEN shown ina vertical column on the right-hand side in FIGS. 3A and 3B means apresentation engine PRSEN depicted in FIG. 14 and is utilized forplayback processing of contents. Further, a data cache DTCCH shown inthe vertical column on the right-hand side in FIGS. 3A and 3Bcorresponds to a data cache DTCCH in FIG. 14, and advanced contentsADVCT are temporarily stored in the data cache DTCCH from a storageposition of each advanced contents as required. FIG. 28 shows aninternal structure of the navigation manager NVMNG depicted in FIG. 14.A playlist manager PLMNG exists in the navigation manager NVMNG, and theplaylist manger PLMNG interprets contents in a playlist PLLST in whichmanagement information indicative of a playback/display procedure ofcontents in this embodiment is written. A command issued from thenavigation manager NVMNG indicated by a vertical line on the right-handside in FIGS. 3A and 3B is mainly issued from a playlist manager PLMNGin the navigation manager NVMNG. An internal structure of a data accessmanager DAMNG shown in FIG. 14 is constituted of a network managerNTMNG, a persistent storage manager PRMNG and a disk manager DKMNG asillustrated in FIG. 26. The network manager NTMNG in the data accessmanager DAMNG performs communication processing with each network serverNTSRV, and executes intermediation of processing of the data transfer 67of contents from the network server NTSRV. Actually, when data istransferred from the network server NTSRV to the data cache DTCCH, acommand 68 is transferred from the playlist manager PLMNG in thenavigation manager NVMNG to the network manager NTMNG, and the networkmanager NTMNG carries out processing of the data transfer 67 of contentsfrom the corresponding network server NTSRV based on the command 68. Thenetwork manager shown in FIG. 26 represents a network manger NTMNG shownin the vertical column on the right-hand side in FIGS. 3A and 3B.Furthermore, the persistent storage manger PRMNG shown in FIG. 26represents a persistent storage manager PRMNG illustrated in thevertical column on the right-had side in FIGS. 3A and 3B. As shown inFIG. 26, the persistent storage manager PRMGN in the data access managerDAMNG executes processing with respect to a persistent storage PRSTR,and performs transfer processing of necessary data from the persistentstorage PRSTR. The command 68 is also issued with respect to thepersistent storage manager PRMNG from the playlist manager PLMNG in thenavigation manager NVMNG. On the right-hand side in FIGS. 3A and 3B,when a horizontal line (or a broken line) is clearly written on eachvertical column, data transfer 67 of contents or transmission of thecommand 68 is executed via a part shown in each vertical column.Further, when a line is drawn behind each vertical column, data transfer67 of contents or transmission of the command 68 is executed withoutusing a part shown in each vertical column. Furthermore, each processingstep shown on the left-hand side in FIGS. 3A and 3B is written insynchronization with data transfer 67 of contents indicated by eachhorizontal line on the right-hand side in FIGS. 3A and 3B.

A flow from step S11 to step S14 in a flowchart on the left-hand side inFIGS. 3A and 3B represents that contents of a playlist PLLST are changedand saved in accordance with a change in a storage position of contentsobtained as a result of performing data transfer of contents.Furthermore, a flow from step S15 to step S17 in the flowchart shown onthe left-hand side in FIGS. 3A and 3B represents a core part of a basicconcept concerning a data processing method, a data transfer method or aprogram structure in this embodiment. That is, it represents a flow ofpreviously storing in the data cache DTCCH data of contents which shouldbe displayed based on the playlist PLLST, and displaying data from thedata cache DTCCH for a user at a necessary timing. In FIGS. 3A and 3B, afile of the playlist PLLST which is management information indicative ofa playback/display procedure for a user exists in the persistent storagePRSTR, the network server NTSRV or the information storage medium DISC.Contents of the flowchart shown on the left-hand side in FIGS. 3A and 3Bwill now be described in detail. At step S11, the playlist PLLST storedin the persistent storage PRSTR is transferred to the playlist managerPLMNG via the persistent storage manager PRMNG as indicated by a line α.Moreover, a playlist manager PLMNG file stored in the network serverNTSRV is transferred to the playlist manager PLMNG from the networkserver NTSRV via the network manager NTMNG as indicated by a line β.Additionally, the playlist manager PLMNG stored in the informationstorage medium DISC is transferred to the playlist manager PLMNG fromthe information storage medium DISC via a disk manager DKMNG althoughnot shown. The data processing method or the data transfer method shownat the step S11 matches with processing from step S44 to step S46 inFIG. 50 or processing at step S61 in FIG. 51. That is, when theplurality of playlists PLLST similar to a plurality of storage mediumsexist, a playlist file PLLST to which the highest number of numbers setto the playlists PLLST is set is utilized as the latest file asindicated at the step S46 in FIG. 50 or the step S61 in FIG. 51. Then,data of specific contents (e.g., contents of a secondary video setSCDVS) which take time for network download processing is transferredfrom the network server NTSRV toward the persistent storage PRSTR basedon information of the latest playlist PLLST selected at step S11 (stepS12). At this time, the command 68 is previously transferred from theplaylist manager PLMNG to the network manager NTMNG and the persistentstorage manager PRMNG (a line δ), and the network manager NTMNG executesprocessing to fetch data of contents from a corresponding network serverNTSRV based on the command 68 and transfers this data to a specifiedpersistent storage PRSTR via the persistent storage manager PRMNG (aline ε). In this embodiment, at the step S12, in case of transferringdata of a secondary video set SCDVS, a time map STMAP of a secondaryvideo set must be also transferred simultaneously with a secondaryenhanced video object data S-EVOB. Furthermore, in case of transferringdata of an advanced application ADAPL, a still image IMAGE, effect audioEFTAD, a font FONT or the like as an advanced element is alsotransferred with an advanced navigation ADVNV (a manifest MNFST, amarkup MRKUP, a script SCRPT). Moreover, in case of transferring data ofan advanced subtitle ADSBT, a font FONT of the advanced subtitle as anadvanced element ADVEL is also transferred with the manifest MNFSTS ofthe advanced subtitle as an advanced navigation and the markup MRKUPS ofthe advanced subtitle (see FIGS. 12, 25 and 11). At the next step (stepS13), playlist PLLST storage position information (src attributeinformation) is changed from the network server NTSRV before executionat the step S12 to the persistent storage PRSTR in accordance with achange in a storage position of contents (source data) generated by datatransfer illustrated at the step S12. At this time, a number larger thanthe set numbers of the playlists PLLST stored in the information storagemedium DISC, the network server NTSRV and the persistent storage PRSTRbefore changing from the network server NTSRV to the persistent storagePRSTR must be set to the playlist file PLL which is to be stored.Additionally, there is a possibility that a content provider changes theplaylist PLLST stored in the network server NTSRV. In such a case, avalue which is larger than the number already set in the network serverNTSRV by “1” is set to the playlist file PLLST. Therefore, asufficiently large number which does not overlap the set number must beset to the playlist PLLST which is currently updated in such a mannerthat the updated playlist PLLST in the network server NTSRV can bediscriminated from the playlist PLLST which is to be stored this time,and the playlist PLLST must be then stored in the persistent storagePRSTR. The core part of the basic concept concerning the data processingmethod, the data transfer method or the program structure in thisembodiment roughly consists of three steps as indicated by the steps S15to S17. That is, at the first step (the step S15), the playlist PLLST asmanagement information (a program) indicative of a playback/displayprocedure for a user is read by the playlist manager PLMNG in thenavigation manager NVMNG. In the embodiment shown in FIGS. 3A and 3B,since the updated playlist file PLLST is stored in the persistentstorage PRSTR (the step S14), the playlist manager PLMNG reads thelatest playlist PLLST from the persistent storage PRSTR as indicated bya line η. In the data processing method or the data transfer methodaccording to this embodiment, a playback/display object, indexinformation, navigation data, resource data, source data or the like asnecessary contents is transferred from a predetermined storage position(arc attribute information) in accordance with description contents ofthe playlist PLLST (a program) as management information at apredetermined timing (LoadingBegin attribute information/PRLOAD orpreload attribute information/PRLOAD) as indicated at the step S16. Thisembodiment is characterized in that the necessary contents (theresource) is previously transferred into the data cache DTCCH. Storingall of the necessary contents in the data cache DTCCH from a specifiedstorage position at a predetermined timing enables simultaneouslyplayback/display of a plurality of playback objects without interruptingplayback/display for a user. A method of retrieving a storage positionor a file name (a data name) of contents (a resource) to be transferreddiffers depending on types of corresponding contents, and the method iscarried out in accordance with the following procedure.

-   -   In regard to a secondary video set SCDVS, retrieval is executed        in the order of the playlist PLLST and the time map STMAP of the        secondary video set.

In this embodiment, a secondary enhanced video object S-EVOB file nameis written in the time map STMAP of the secondary video set, andsecondary enhanced video object data S-EVOB can be retrieved frominformation of the time map STMAP of the secondary video set.

-   -   In regard to an advanced subtitle ADSBT or an advanced        application ADAPL (including a playlist associated advanced        application PLAPL or a title associated advanced application        TTAPL), reference is made to an application resource element        APRELE, a title resource element or src attribute information        (source attribute information) in the application resource        element APRELE (see FIGS. 54A and 54B, FIGS. 55A and 55B, FIGS.        63A to 63C, FIGS. 66A to 66C, FIG. 67, FIGS. 69A and 69B, FIG.        70 and FIG. 71).

That is, when a storage position of a resource (contents) is specifiedas the persistent storage PRSTR in the playlist PLLST, the correspondingresource (contents) is transferred to the data cache DTCCH from thecorresponding persistent storage PRSTR via the persistent storagemanager PRMNG (a line λ). Furthermore, information stored in theinformation storage medium DISC is transferred to the data cache DTCCHfrom the information storage medium DISC as indicated by a line κ.Moreover, when there is a description that a resource (contents)specified in the playlist PLLST is stored in the network server NTSRV,data is transferred to the data cache DTCCH from the correspondingnetwork server NTSRV via the network manager NTMNG as indicated by aline μ. In this case, prior to data transfer 67 of the contents (theresource), the command 68 of a data transfer request is issued from theplaylist manager PLMNG to the persistent storage manager PRMNG, thenetwork manager NTMNG and a disk manager DKMNG although not shown (aline 74 ). At the last step, as indicated at S17 a plurality ofplayback/display objects are simultaneously displayed at a specifiedposition in a screen based on information contents of managementinformation (a playlist/a program) at a timing specified in themanagement information (titleTimeBegin/TTSTTM or titleTimeEnd/TTEDTM)(see FIGS. 11, 12 and 25). At this time, the command 68 (a line 84 ) istransmitted to the data cache DTCCH from the playlist manager PLMNG inthe navigation manager NVMNG, and the command 68 of preliminarypreparation is transmitted to a presentation engine PRSEN from theplaylist manager PLMNG as indicated by a line ξ. Based on this,information of contents (a resource) previously stored in the data cacheDTCCH is transferred toward the presentation engine PRSEN, and aplayback/display object is displayed to a user (a line ∘). Additionally,a primary video set PRMVS and some of secondary video sets SCDVS can bedirectly transferred from the information storage medium DISC to thepresentation engine PRSEN without using the data cache DTCCHsimultaneously with the above-described processing. This data transfercorresponds to a line ρ in FIGS. 3A and 3B. Further, some of secondaryvideo sets SCDVS can be directly transferred to (a secondary videoplayer SCDVP in) the presentation engine PRSEN from the persistentstorage manager PRMNG without using the data cache DTCCH. This datatransfer corresponds to a line π in FIGS. 3A and 3B, and the instructioncommand 68 of data transfer is issued from the playlist manager PLMNG tothe persistent storage manager PRMNG prior to the data transfer 67 (aline ν). In this manner, the data transfer is carried out, and aplurality of playback/display objects can be simultaneously played back.When playback/display timing control information is provided tomanagement information (a playlist PLLST/a program), a plurality ofplayback/display objects (including an advanced application ADAPL or anadvanced subtitle ADSBT) including moving pictures (enhanced videoobject data EVOB) can be simultaneously played back/displayed withoutinterruption. The data processing method and the data transfer methodare mainly illustrated in FIGS. 3A and 3B, but this embodiment is notrestricted thereto, and a scope of characteristics of this embodimentincludes program description contents which describes a necessarypossible timing or a storage position of a resource and can realize thedata processing method or the data transfer method.

In order to meet the three needs shown in FIGS. 2A, 2B, and 2C, thisembodiment innovates the XML and scripts and the concept of timeline incorrespondence with the expression format in the PC world. However, bymerely adopting such data structure, compatibility with the existingDVD-Video standards is lost. In order to meet the requirements of theusers and the like described using FIGS. 2A, 2B, and 2C, networkconnection is needed, and it becomes difficult to provide a veryinexpensive information playback apparatus to the user. Hence, thisembodiment adopts an arrangement which can use the advanced contentADVCT which meets the requirements of the users and the like describedusing FIGS. 2A, 2B, and 2C, and the standard content STDCT which cannotmeet the requirements of the users and the like described using FIGS.2A, 2B, and 2C but can be played back by a very inexpensive informationplayback apparatus (without any precondition of Internet connection)while assuring the compatibility to the existing DVD-Video standards.This point is a large technical feature in this embodiment.

Note that the data structure of the standard content STDCT and that ofthe advanced content ADVCT will be described in detail later.

EXAMPLE OF CONTENT PLAYBACK METHOD

FIGS. 15A and 15B show examples of video content playback methods by theinformation recording and playback apparatus 1.

An example of a case is shown in FIG. 15A(a) wherein a main title 31 ispresented like a television broadcast video information after videoinformation 42 used to give an explanation of detailed navigation,commercial 44 for a product, service, or the like is presented to beinserted into the main title 31, a preview 41 of a movie is presentedafter completion of presentation of the main title 31.

An example of a case is shown in FIG. 15B(b) wherein a main title 31 ispresented like a television broadcast video information after videoinformation 42 used to give an explanation of detailed navigation, acommercial 43 in the form of a telop is presented to be superimposed onpresentation of the main title 31, and a preview 41 of a movie ispresented after completion of presentation of the main title 31.

An example of a case is shown in FIG. 15B(c) wherein a preview 41 of amovie is presented after video information 42 used to give anexplanation of detailed navigation, a main title 31 is then presented,an independent window 32 for a commercial is presented on a presentationarea different from the main title 31 during presentation of the maintitle 31, and a help icon 33 is presented on a presentation areadifferent from the main title 31 during presentation of the preview 41and main title 31.

Note that what kind of information is used to present the main title,commercial, preview, telop commercial, and the like will be described indetail later.

EXAMPLE OF PRESENTATION WINDOW

FIG. 16 shows an example of a presentation window at point a when themain title 31, the independent window 32 for a commercial, and the helpicon 33 are simultaneously presented in FIG. 15B(c).

In the example of this presentation window, the main title 31 ispresented as a moving picture of a main picture on the upper left area,the independent window 32 for a commercial is presented as a movingpicture of a sub-picture on the upper right area, and the help icon 33is presented as a still picture (graphic) on the lower area. Also, astop button 34, play button 35, FR (fast-rewinding) button 36, pausebutton 37, FF (fast-forwarding) button 38, and the like are alsopresented as still pictures (graphics). In addition, a cursor (notshown) or the like is presented.

Note that what kind of information is used to present each individualmoving picture or still picture on the presentation window will bedescribed in detail later.

<Content Type>

This embodiment defines 2 types of contents; one is Standard Content andthe other is Advanced Content. Standard Content consists of Navigationdata and Video object data on a disc. On the other hand, AdvancedContent consists of Advanced Navigation such as Playlist, Manifest,Markup and Script files and Advanced Data such as Primary/SecondaryVideo Set and Advanced Element (image, audio, text and so on). At leastone Playlist file and Primary Video Set shall be located on a disc whichhas Advanced Content, and other data can be on a disc and also bedelivered from a server.

More intelligible explanations will be provided below.

This embodiment defines two different types of contents, i.e., thestandard content STDCT and the advanced content ADVCT. This point is alarge technical feature in this embodiment.

The standard content STDCT of this embodiment includes enhanced videoobject EVOB which records video information itself and navigation dataIFO which records management information of that enhanced video object.The standard content STDCT has a data structure obtained by purelyextending the existing DVD-Video data structure.

By contrast, the advanced content ADVCT has a data structure whichrecords various kinds of information to be described later.

FIG. 4 shows the data structure of the standard content STDCT. FIGS. 12,13A and 13B show the data structure of an advanced content andexplanations of effects and the like. FIG. 10 shows the relationshipamong various objects in this embodiment. These figures will be referredto as needed in the following description.

<Standard Content>

Standard Content is just extension of content defined in DVD-Videospecification especially for high-resolution video, high-quality audioand some new functions. Standard Content basically consists of one VMGspace and one or more VTS spaces (which are called as “Standard VTS” orjust “VTS”), as shown in FIG. 4. In comparison to the existing DVD-Videospecification, this embodiment gives new functionalities. For instance,

-   -   Extension of Video stream such as codec/resolution    -   Extension of Audio stream such as codec/frequency/channel number    -   Extension of Sub-picture stream/Highlight Information stream    -   Extension of Navigation Command    -   Elimination of some restrictions for FP_DOM/VMGM_DOM/VTSM_DOM    -   Elimination of some restrictions for transition among domains    -   Introduction of Resume Sequence, and so on

More intelligible explanations will be provided below.

The data structure of the standard content STDCT will be described belowusing FIG. 4.

The standard content STDCT includes a video manager VMG that representsa menu frame, and a standard video title set SVTS that records videodata.

The video manager VMG that records the menu frame includes enhancedvideo object EVOB that records video information itself, and navigationdata IFO that records management data of that EVOB. The standard videotitle set SVTS includes enhanced video object EVOB that records videoinformation itself and navigation data IFO that records management dataof that EVOB.

The standard content STDCT represents an extended structure of thecontent specified by the conventional DVD-Video. Especially, newfunctionalities that improve the resolution of video data and the soundquality of audio data compared to the conventional DVD-Video are added.As shown in FIG. 4, the standard content STDCT consists of one videomanager VMG space, and one or more video title set VTS spaces, which iscalled the standard video title set SVTS or VTS.

In comparison to the existing DVD-Video specification, this embodimentgives the following new functionalities.

-   -   A new compression method which assures a high resolution for        video information and a high compression efficiency is adopted.    -   The number of channels of audio information is increased, and a        higher sampling frequency is supported. An audio information        compression method that assures high sound quality and a high        compression efficiency is adopted.    -   Sub-picture information are extended, and a new stream for        highlight information is defined.    -   Navigation command is extended.    -   Some restrictions which are conventionally included in a first        play domain that executes processing upon activation, a video        manager domain that manages a menu image, and a video title set        domain that executes processing upon playback of video        information are eliminated, thus allowing more flexible        expression.    -   Some restrictions for transition among domains are eliminated,        thus defining a more flexible expression environment.    -   A new resume sequence function that represents processing upon        pausing playback is added, and user's convenience after pausing        is improved.

<Standard VTS>

Standard VTS is basically used in Standard Content, however this VTS maybe utilized in Advanced Content via time map TMAP. The EVOB may containsome specific information for Standard Content, and such information ashighlight information HLI and presentation control information PCI shallbe ignored in Advanced Content.

More intelligible explanations will be provided below.

The standard video title set SVTS in this embodiment is basically usedon the standard content STDCT described above. However, this standardvideo title set SVTS may be utilized in the advanced content ADVCT via atime map TMAP (to be described later).

The enhanced video object EVOB as object data used in the standard videotitle set SVTS may contain some pieces of specific information for thestandard content STDCT. Some pieces of specific information contain,e.g., highlight information HLI and presentation control information PCIwhich are used in the standard content STDCT, but shall be ignored inthe advanced content ADVCT in this embodiment.

<HDDVD_TS Directory>

“HDDVD_TS” directory shall exist directly under the root directory. Allfiles related with Primary Video Set (i.e. a VMG, Standard Video Set(s)and an Advanced VTS) shall reside under this directory.

More intelligible explanations will be provided below.

The directory structure upon recording the standard content STDCT shownin FIG. 4 in the information storage medium DISC will be describedbelow. In this embodiment, the standard content STDCT and the advancedcontent ADVCT (to be described later) are recorded in the HDDVD_TSdirectory together. The HDDVD_TS directory exists directly under theroot directory of the information storage medium DISC. For example, allfiles related with a primary video set PRMVS (to be described later)such as the video manager VMG, standard video title set SVTS, and thelike shall reside under this directory.

<Video Manager (VMG)>

A Video Manager Information (VMGI), an Enhanced Video Object for FirstPlay Program Chain Menu (FP_PGCM_EVOB), a Video Manager Information forbackup (VMGI_BUP) shall be recorded respectively as a component fileunder the HDDVD_TS directory. An Enhanced Video Object Set for VideoManager Menu (VMGM_EVOBS) which should be divided into up to 98 filesunder the HDDVD_TS directory. For these files of a VMGM_EVOBS, everyfile shall be allocated contiguously.

More intelligible explanations will be provided below.

Components of the video manager VMG shown in FIG. 4 will be describedbelow. The video manager VMG basically include menu frame informationand control information of the conventional DVD-Video. Under theaforementioned HDDVD_TS directory, video manager information VMGI,enhanced video object EVOB related with a menu FP_PGCM_EVOB which is tobe presented first immediately after insertion of the informationstorage medium DISC, video manager information VMGI_BUP as backup dataof the navigation data IFO of the video manager VMG, and the like areseparately recorded as component files.

Under the HDDVD_TS directory, an enhanced video object set VMGM_EVOBSrelated with a video manager menu has a size of 1 GB or more, and thesedata shall be recorded while being divided into up to 98.

In a read-only information storage medium in this embodiment, all thefiles of the enhanced video object set VMGM_EVOBS of the video managermenu shall be allocated contiguously for the sake of convenience uponplayback. In this manner, since the information of the enhanced videoobject set VMGM_EVOBS related with the video manager menu is recorded atone location together, data access convenience, data collectionconvenience, and high presentation speed can be assured.

<Standard Video Title Set (Standard VTS)>

A Video Title Set Information (VTSI) and a Video Title Set Informationfor backup (VTSI_BUP) shall be recorded respectively as a component fileunder the HDDVD_TS directory. An Enhanced Video Object Set for VideoTitle Set Menu (VTSM_EVOBS), and an Enhanced Video Object Set for Titles(VTSTT_EVOBS) may be divided into up to 99 files. These files shall becomponent files under the HDDVD_TS directory. For these files of aVTSM_EVOBS, and a VTSTT_EVOBS, every file shall be allocatedcontiguously.

More intelligible explanations will be provided below.

In this embodiment, video title set information VTSI and backup dataVTSI_BUP of the video title set information shall be recordedrespectively as a component file under the HDDVD_TS directory. The sizesof an enhanced video object set VTSM_EVOBS of a video title set menu andan enhanced video object set VTSTT_EVOBS of each title are allowed toexceed 1 GB. However, their data should be recorded while being dividedinto up to 99 files. As a result, each file size can be set to be 1 GBor less. These files shall be independent component files under theHDDVD_TS directory. Every file of the enhanced video object setVTSM_EVOBS of the video title set menu and the enhanced video object setVTSTT_EVOBS of each title shall be allocated contiguously, respectively.As a result, since data are recorded at one location, the data accessconvenience, speeding up, and easy data processing management can beattained, and these pieces of information for the user can be presentedat high speed.

<Structure of Standard Video Title Set (VTS)>

A VTS is a collection of Tides. Each VTS is composed of control datareferred to as Video Title Set Information (VTSI), Enhanced Video ObjectSet for the VTS Menu (VTSM_VOBS), Enhanced Video Object Set for Titlesin a VTS (VTSTT_EVOBS) and backup control data (VTSI_P).

The following rules shall apply to Video Title Set (VTS):

1) Each of the control data (VTSI) and the backup of control data(VTSI_BUP) shall be a single File.

2) Each of the EVOBS for the VTS Menu (VTSM_EVOBS) and the EVOBS forTitles in a VTS (VTSTT_EVOBS) may be divided into Files, up to maximumof 99 respectively.

3) VTSI, VTSM_EVOBS (if present), VTSTT_EVOBS and VTSI_BUP shall beallocated in this order.

4) VTSI and VTSI_BUP shall not be recorded in the same ECC block.

5) Files comprising VTSM_EVOBS shall be allocated contiguously. Alsofiles comprising VTSTT_EVOBS shall be allocated contiguously.

6) The contents of VTSI_BUP shall be exactly the same as VTSIcompletely. Therefore, when relative address information in VTSI_BUPrefers to outside of VTSI_BUP, the relative address shall be taken as arelative address of VTSI.

7) VTS numbers are the consecutive numbers assigned to VTS in theVolume. VTS numbers range from ‘1’ to ‘511’ and are assigned in theorder the VTS are stored on the disc (from the smallest LBN at thebeginning of VTSI of each VTS).

8) In each VTS, a gap may exist in the boundaries among VTSI, VTSM_EVOBS(if present), VTSTT_EVOBS and VTSI_BUP.

9) In each VTSM_EVOBS (if present), each EVOB shall be allocated incontiguously.

10) In each VTSTT_EVOBS, each EVOB shall be allocated in contiguously.

11) VTSI and VTSI_BUP shall be recorded respectively in a logicallycontiguous area which is composed of consecutive LSNs.

More intelligible explanations will be provided below.

The video title set VTS is a collection of a set of video titles. Thisvideo title set includes video title set information VTSI as controlinformation related with the video title set, an enhanced video objectset VTSM_EVOBS of a video title set menu, an enhanced video object set(video information itself) VTSTT_EVOBS of each title, and backup dataVTSI_BUP of the video title set information.

In this embodiment, the following rules shall apply to the video titleset VTS.

1) Each of the video title set information VTSI that records controlinformation, and the backup data VTSI_BUP of the video title setinformation shall be recorded in a single file of 1 GB or less.

2) The enhanced video object set VTSM_EVOBS of the video title set menuand the enhanced video object set (video information itself) VTSTT_EVOBSof each title shall be recorded while being divided into files, up tomaximum of 99 respectively, per information storage medium DISC, eachhaving a size of 1 GB or less.

3) The video title set information VTSI, the enhanced video object setVTSM_EVOBS of the video title set menu, the enhanced video object set(video information itself) VTSTT_EVOBS of each title, and the backupdata VTSI_BUP of the video title set information shall be allocated inthis order.

4) The video title set information VTSI and the backup data VTSI_BUP ofthe video title set information shall not be recorded in one ECC blocktogether. That is, the video title set information VTSI and the backupdata VTSI_BUP of the video title set information are recordedcontiguously, but the boundary position of them is inhibited from beingallocated at the center of a single ECC block. That is, when theboundary portion of these data is allocated in the single ECC block, ifthat ECC block cannot be played back due to any defect, both pieces ofinformation cannot be played back. Therefore, padding information isrecorded in the residual area in the ECC block at the end position ofthe video title set information VTSI to allocate the head of the nextbackup data VTSI_BUP of the video title set information at the headposition of the next ECC block, thus avoiding both the data from beingrecorded in the single ECC block. This point is a large technicalfeature in this embodiment. With this structure, not only thereliability of data playback can be greatly improved, but also theplayback processing upon data playback can be facilitated.

5) A plurality of files comprising the enhanced video object setVTSM_EVOBS of the video title set menu shall be recorded contiguously onthe information storage medium DISC. Also, a plurality of filescomprising the enhanced video object set (video information itself)VTSTT_EVOBS of each title shall be recorded contiguously. Since thefiles are allocated contiguously, respective pieces of information canbe played back at a time by a single continuous playback operation of anoptical head upon playback (the need for jumping processing of theoptical head is obviated). In this way, easy processing of various kindsof information upon data playback can be assured, and the time from whendata playback until presentation can be shortened.

6) The contents of the backup data VTSI_BUP of the video title setinformation shall be exactly the same as the video title set informationVTSI completely. Therefore, if the video title set information VTSI asmanagement information cannot be played back due to an error, videoinformation can be stably played back by playing back the backup dataVTSI_BUP of the video title set information.

7) The video title set VTS numbers are the consecutive numbers assignedto the video title sets VTS recorded in a volume space. The numbers ofrespective video title sets VTS ranges numbers 1 to 511 and are assignedin ascending order of logical block number LBN as the address in thelogical space indicating the allocation position of the video title setVTS recorded on the information storage medium DISC.

8) In each video title set VTS, gap may exist in boundary areas betweenneighboring ones of the video title set information VTSI, the enhancedvideo object set VTSM_EVOBS of the video title set menu, the enhancedvideo object set (video information itself) VTSTT_EVOBS of each title inthe video title set VTS, and the backup data VTSI_BUP of the video titleset information. More specifically, the aforementioned four types ofinformation are allocated in different ECC blocks, thus assuring highreliability and easy playback processing of data upon playback, andspeeding up of processing. For this reason, this embodiment is designedas follows. That is, when the recording position of the last data ofeach information ends at the middle of one ECC block, paddinginformation is recorded in the residual area, so that the head positionof the next information matches that of the next ECC block. The part ofthe padding information in the ECC block will be referred to as a gap inthis embodiment.

9) In the enhanced video object set VTSM_EVOBS of each video title setmenu, enhanced video object EVOB shall be allocated in contiguously onthe information storage medium DISC. Thus, the convenience of playbackprocessing can be improved.

10) In the enhanced video object set (video information itself)VTSTT_EVOBS of each title in the video title set VTS, respectiveenhanced video objects shall be allocated in contiguously on theinformation storage medium DISC. In this manner, the convenience ofinformation playback can be assured, and the time required untilplayback can be shortened.

11) The video title set information VTSI and the backup data VTSI_BUP ofthe video title set information shall be recorded respectively in alogically contiguous areas defined by serial logical block numbers LSNwhich represent the address positions on the information storage mediumDISC. In this way, the information can be read by single continuousplayback (without any jumping processing), thus assuring the convenienceof playback processing and speeding up of processing.

<Structure of Video Manager (VMG)>

The VMG is the table of contents for Standard Video Title Sets whichexist in the “HD DVD-Video zone”. A VMG is composed of control datareferred to as Video Manager Information (VMGI), Enhanced Video Objectfor First Play PGC Menu (FP_PGCM_EVOB), Enhanced Video Object Set forVMG Menu (VMGM_EVOBS) and a backup of the control data (VMGI_BUP). Thecontrol data is static information necessary to playback titles andproviding information to support User Operation. The FP_PGCM_EVOB is anEnhanced Video Object (EVOB) used for the selection of menu language.The VMGM_EVOBS is a collection of Enhanced Video Objects (EVOBs) usedfor Menus that support the volume access.

The following rules shall apply to Video Manager (VMG):

1) Each of the control data (VMGI) and the backup of control data(VMGI_BUP) shall be a single File.

2) EVOB for FP PGC Menu (FP_PGCM_EVOB) shall be a single File. EVOBS forVMG Menu (VMGM_EVOBS) may be divided into Files, up to maximum of 98.

3) VMGI, FP_PGCM_EVOB (if present), VMGM_EVOBS (if present) and VMGI_BUPshall be allocated in this order.

4) VMGI and VMGI_BUP shall not be recorded in the same ECC block.

5) Files comprising VMGM_EVOBS shall be allocated contiguously.

6) The contents of VMGI_BUP shall be exactly the same as VMGIcompletely. Therefore, when relative address information in VMGI_BUPrefers to outside of VMGI_BUP, the relative address shall be taken as arelative address of VMGI.

7) A gap may exist in the boundaries among VMGI, FP_PGCM_EVOB (ifpresent), VMGM_EVOBS (if present) and VMGI_BUP.

8) In VMGM_EVOBS (if present), each EVOB shall be allocatedcontiguously.

9) VMGI and VMGI_BUP shall be recorded respectively in a logicallycontiguous area which is composed of consecutive LSNs.

More intelligible explanations will be provided below.

The video manager VMG is the table of contents for the standard videotitle set SVTS, and is recorded in an HDDVD-Video zone to be describedlater. Constituent elements of the video manager VMG are controlinformation as video manager information VMGI, a menu FP_PGCM_EVOB whichis to be presented first immediately after insertion of the informationstorage medium DISC, an enhanced video object set VMGM_EVOBS of a videomanager menu, and backup data VMGI_BUP of control information as thevideo manager information VMGI. The control information as the videomanager information VMGI records information required to play back eachtitle, and information used to support user's operations. The menuFP_PGCM_EVOB which is to be presented first immediately after insertionof the information storage medium DISC is used to select a languagepresented in the menu. That is, the user himself or herself selects anoptimal menu language immediately after insertion of the informationstorage medium DISC, thus presenting various menu frames using the bestunderstandable language. The enhanced video object set VMGM_EVOBSrelated with the video manager menu is a collection of the enhancedvideo objects EVOBs used for in menus that support volume access. Thatis, information of a menu frame (a frame provided as independentinformation for each individual language) presented in the languageselected by the user is recorded as the enhanced video object set.

In this embodiment, the following rules shall apply to the video managerVMG.

1) Each of the video manager information VMGI and the backup fileVMGI_BUP of the video manager information shall be recorded in theinformation storage medium DISC to have each file size of 1 GB or less.

2) The enhanced video object EVOB of the menu FP_PGCM_EVOB which is tobe presented first immediately after insertion of the informationstorage medium DISC shall be divisionally recorded in the informationstorage medium DISC to have each file size of 1 GB or less. The enhancedvideo object set VMGM_EVOBS of the video manager menu is divisionallyrecorded to have each file size of 1 GB or less, and the number of filesof the enhanced video object set VMGM_EVOBS of the video manager menurecorded per information storage medium DISC is set to be 98 or fewer.Since the data size of one file is set to 1 GB or less, a buffer memorycan be easily managed, and data accessibility is improved.

3) The video manager information VMGI, the menu FP_PGCM_EVOB which is tobe presented first immediately after insertion of the informationstorage medium DISC, the enhanced video object set VMGM_EVOBS of thevideo manager menu, and the backup file VMGI_BUP of the video managerinformation shall be allocated in this order on the information storagemedium DISC.

4) The video manager information VMGI and the backup file VMGI_BUP ofthe video manager information shall not be recorded in a single ECCblock.

Since the video manager information VMGI, the menu FP_PGCM_EVOB which isto be presented first immediately after insertion of the informationstorage medium DISC, and the enhanced video object set VMGM EVOBS of thevideo manager menu are optional, they are not often recorded on theinformation storage medium DISC. In such case, the video managerinformation VMGI and the backup file VMGI_BUP of the video managerinformation may be contiguously allocated in turn. This means that theboundary position of the video manager information VMGI and the backupfile VMGI_BUP of the video manager information is not allocated at thecenter of one ECC block. Basically, information is played back from theinformation storage medium for each ECC block. For this reason, if theboundary position of both pieces of information is recorded in thesingle ECC block, not only the convenience of data processing ofplayback information is impaired, but also if an error occurs in the ECCblock which stores the boundary portion to disable playback, both thevideo manager information VMGI and the backup file VMGI_BUP of the videomanager information cannot often be played back. Therefore, when theboundary portion of both the pieces of information is allocated at thatof ECC blocks, the superiority of processing upon playback is assured.Even when one of these ECC blocks includes many errors and cannot beplayed back, information can be restored and played back using theresidual data. Therefore, by setting the boundary of both the pieces ofinformation to that between neighboring ECC blocks, the data playbackreliability of the video manager information VMGI can be improved.

5) Files comprising the enhanced video object set VMGM_EVOBS of thevideo manager menu that represents menu information shall be allocatedcontiguously. As described above, the data size of the enhanced videoobject set VMGM_EVOBS of the video manager menu is allowed to exceed 1GB. In this embodiment, it is specified to divisionally record the dataof the enhanced video object set VMGM_EVOBS of the video manager menu ina plurality of files to have each file size of 1 GB or less. The dividedfiles are required to be recorded contiguously on the informationstorage medium DISC. In this way, all enhanced video object sets of thevideo manager menu can be fetched by single continuous playback, thusassuring high reliability of playback control and speeding up ofpresentation processing for the user.

6) The contents of the backup file VMGI_BUP of the video managerinformation shall be exactly the same of the video manager informationVMGI completely.

7) A gap may exist in the boundary positions between neighboring ones ofvideo manager information VMGI, the menu FP_PGCM_EVOB which is to bepresented first immediately after insertion of the information storagemedium DISC, the enhanced video object set VMGM EVOBS of the videomanager menu, and the backup file VMGI_BUP of the video managerinformation. As described in 4), when information of each data isrecorded together for each ECC block, the position of the last data mayhave a difference from the boundary position of ECC blocks, and aresidual area may be formed in the ECC block. This residual area iscalled a gap. Since existence of the gap areas is allowed in this way,each information can be recorded for respective ECC blocks. As a result,the convenience upon playback and the reliability upon data playback canbe assured, as described above.

8) Each enhanced video object EVOB in the enhanced video object setVMGM_EVOBS of the video manager menu shall be allocated contiguously. Asdescribed above, the enhanced video object set VMGM_EVOBS of the videomanager menu can have a size which exceeds 1 GB, and can be divisionallyrecorded in files of 1 GB or less. This means that the divided files arerecorded contiguously on the information storage medium DISC. As aresult, the enhanced video object set VMGM_EVOBS of the video managermenu can be read together by a single playback operation, thus assuringthe convenience of the playback processing and shortening the timerequired for presentation for the user.

9) When the menu FP_PGCM_EVOB which is to be presented first immediatelyafter insertion of the information storage medium DISC and the enhancedvideo object set VMGM_EVOBS of the video manager menu do not exist, thevideo manager information VMGI and the backup file VMGI_BUP of the videomanager information shall be recorded respectively in continuous areasdefined by continuous logical sector numbers. In this manner, theplayback convenience of the video manager information VMGI and thebackup file VMGI_BUP of the video manager information can be improved.

<Structure of Enhanced Video Object Set (EVOBS) in Standard Content>

The EVOBS is a collection of Enhanced Video Object which is composed ofdata on Video, Audio, Sub-picture and the like.

The following rules shall apply to EVOBS:

1) In an EVOBS, EVOBs are to be recorded in Contiguous Block andInterleaved Block.

2) An EVOBS is composed of one or more EVOBs. EVOB_ID numbers areassigned from the EVOB with the smallest LSN in EVOBS, in ascendingorder starting with one (1).

3) An EVOB is composed of one or more Cells. C_ID numbers are assignedfrom the Cell with the smallest LSN in an EVOB, in ascending orderstarting with one (1).

4) Cells in EVOBS may be identified by the EVOB_ID number and the C_IDnumber.

5) An EVOB shall be allocated in ascending order in logical sectornumber contiguously (without any gaps).

More intelligible explanations will be provided below.

The enhanced video object set EVOBS is a collection of the enhancedvideo object EVOB, which is composed of data on video, audio,sub-picture, and the like. In this embodiment, the following rules shallapply to the enhanced video object set EVOBS.

1) In the enhanced video object set EVOBS, enhanced video objects EVOBsare to be recorded in contiguous blocks and interleaved blocks.

2) An enhanced video object set EVOBS is composed of one or moreenhanced video objects EVOBS.

3) ID numbers EVOB_ID assigned to respective enhanced video object EVOBare assigned in ascending order of logical sector number LSN, whichindicates the recording address of enhanced video object EVOB on theinformation storage medium DISC. The first number is “1”, and isincremented in turn.

One enhanced video object EVOB is composed of one or more cells. As IDnumbers C_ID set for respective cells, numerals which are incremented inturn to have a minimum value “1” in ascending order of logical sectornumber LSN which indicates the recording location of each cell on theinformation storage medium DISC are set.

4) Respective cells in the enhanced video object set EVOBS may beindividually identified by the ID number EVOB_ID assigned to theenhanced video object EVOB and the ID numbers C_ID set for respectivecells.

<Category of Information Storage Medium>

In this embodiment, for example, as video information and its managementinformation to be recorded on the information storage medium DISC, twodifferent types of contents, i.e., the advanced content ADVCT andstandard content STDCT are set. By providing the advanced content ADVCT,the requirements of the user who wants to assure flexible anddiversified expressions, easy processing of video related information ofnetwork actions, and easy transmission of information after processing,can be satisfied. By providing the standard content STDCT at the sametime, the data compatibility to the conventional DVD-Video can beassured, and even an inexpensive information playback apparatus withoutany precondition of network connection can play back video informationof this embodiment. This point is a large technical feature in thisembodiment.

As shown in FIG. 5, information storage media DISC corresponding tothree different categories are defined as the information storage mediaDISC that record respective contents. That is, as shown in FIG. 5(a), amedium which records only information of the standard content STDCT asdata to be recorded in the information storage medium DISC compliant tocategory 1 is defined. The information storage medium DISC compliant tocategory 1 can be played back by both an inexpensive informationplayback apparatus without any precondition of network connection and anadvanced information playback apparatus premised on network connection.

An information storage medium DISC which records only advanced contentADVCT as data recorded in an information storage medium compliant tocategory 2 is defined, as shown in FIG. 5(b). The information storagemedium DISC compliant to category 2 can be played back by only anadvanced information playback apparatus premised on network connection.Furthermore, as shown in FIG. 5(c), an information storage medium DISCcompliant to category 3 that records identical video information in boththe formats of the advanced content ADVCT and standard content STDCT isdefined. This point is a large technical feature of this embodiment.Using the information storage medium DISC compliant to category 3, anadvanced information playback apparatus having a network connectionfunction can play back the advanced content ADVCT, and an inexpensiveinformation playback apparatus without any precondition of networkconnection can play back the standard content STDCT. Hence, the contentsoptimal to every models can be presented (provided) to the user.

<Category 1 Disc>

This disc contains only Standard Content which consists of one VMG andone or more Standard VTSs. This disc contains no Advanced Content suchas a Playlist, Advanced VTS and so on. As for an example of structure,see FIG. 5(a).

More intelligible explanations will be provided below.

The information storage medium DISC compliant to category 1 shown inFIG. 5(a) records the standard content STDCT which consists of one videomanager VMG which forms a menu frame, and one or more standard videotitle sets SVTS that manage video information. No information of theadvanced content ADVCT is recorded on this information storage mediumDISC.

<Category 2 Disc>

This disc contains only Advanced Content which consists of Playlist,Primary Video Set (only Advanced VTS), Secondary Video Set and AdvancedSubtitle. This disc contains no Standard Content such as VMG or StandardVTS. As for an example of structure, see FIG. 5(b).

More intelligible explanations will be provided below.

The information storage medium DISC compliant to category 2 shown inFIG. 5(b) records only the advanced content ADVCT, and does not recordany standard content STDCT.

<Category 3 Disc>

This disc contains both Advanced Content which consists of Playlist,Advanced VTS in Primary Video Set, Secondary Video Set, AdvancedApplication and Advanced Subtitle and Standard Content which consists ofone or more Standard VTSs in Primary Video Set. That is, neither FP_DOMnor VMGM_DOM should exist in this Primary Video Set. Even though FP_DOMand VMGM_DOM may exist on a disc, some navigation command to transit toFP_DOM or VMGM_DOM shall be ignored by a player. As for an example ofstructure, see FIG. 5(c). Even though this disc contains StandardContent, basically this disc follows rules for the Category 2 disc.Standard Content may be referred by Advanced Content with cancellationsof some functions. In addition, for playback of this disc, there arekinds of state such as Advanced Content Playback State and StandardContent Playback State, and the transition between the states isallowed.

More intelligible explanations will be provided below.

The information storage medium DISC compliant to category 3 shown inFIG. 5(c) records the advanced content ADVCT and standard content STDCT.In the information storage medium DISC compliant to category 3, aprimary video set PRMVS (to be described later) is defined. In theprimary video set PRMVS, neither a first play domain FP_DOMcorresponding to a frame to be presented immediately after insertion ofthe information storage medium DISC nor a video manager menu domainVMGM_DOM that presents a menu is defined in the primary video set PRMVS.However, the first play domain FP_DOM and video manager menu domainVMGM_DOM may exist in an area other than the primary video set PRMVS inthe information storage medium DISC compliant to category 3.Furthermore, an information playback apparatus shall ignore a navigationcommand to transit to the first play domain FP_DOM or the video managerdomain VMGM_DOM. The first play domain FP_DOM corresponding to a frameto be presented immediately after insertion of the information storagemedium DISC and the video manager domain VMGM_DOM are basically requiredin a menu operation in the standard content STDCT. However, in thisembodiment, as shown in FIG. 9 or 6, menu processing is executed in theadvanced content ADVCT to refer to the standard video title set SVTSwhich records video information in the standard content STDCT as needed.In this way, by inhibiting jump to the first play domain FP_DOM of amenu presented immediately after insertion of the information storagemedium DISC and the video manager domain VMGM_DOM, the menu processingon the advanced content ADVCT can always be assured, thus avoidingconfusion to the user. Even though the information storage medium DISCcompliant to category 3 contains the standard content STDCT, basicallythis information storage medium DISC follows rules for the informationstorage medium DISC compliant to category 2 shown in FIG. 5(b).

<Primary Video Set>

Primary Video Set in Advanced Content consists of Advanced VTS space,Standard VTS space and VMG. Basically Advanced VTS is used only inAdvanced Content, and Standard VTS may be used in Advanced Content eventhough this VTS is mainly used for Standard Content. In AdvancedContent, VMG may exist in Primary Video Set, however the transition toVMGM_DOM or FP_DOM is not allowed. The data for Primary Video Set islocated on a disc under HDDVD_TS directory.

More intelligible explanations will be provided below.

The contents of the primary video set PRMVS shown in FIG. 5(c) will bedescribed below. The primary video set PRMVS in the advanced contentADVCT includes an advanced video title set ADVTS, a standard video titleset SVTS, and a video manager VMG. These video title sets are mainlyused in the standard content STDCT. However, the advanced video titleset ADVTS is used only in the advanced content ADVCT, and the standardvideo title set SVTS may be used in the advanced content ADVCT. In theadvanced content ADVCT, the video manager VMG in the primary video setPRMVS may exist. However, during use of the advanced content ADVCT, thetransition to the aforementioned video manager menu domain VMGM_DOM andfirst play domain FP_DOM is inhibited. The first play domain FP_DOMcorresponding to a frame to be presented immediately after insertion ofthe information storage medium DISC and the video manager domainVMGM_DOM are basically required in a menu operation in the standardcontent STDCT. However, in this embodiment, as shown in FIG. 9 or 6, themenu processing is executed in the advanced content ADVCT to refer tothe standard video title set SVTS which records video information in thestandard content STDCT as needed. In this way, by inhibiting thetransition to the first play domain FP_DOM of a menu presentedimmediately after insertion of the information storage medium DISC andthe video manager domain VMGM_DOM, the menu processing on the advancedcontent ADVCT can always be assured, thus effectively avoiding confusionto the user. The primary video set PRMVS are recorded in the informationstorage medium DISC compliant to category 3. The primary video set PRMVSis allocated in the HDDVD_TS directory described above as the datastructure to be recorded. However, the embodiment of the invention isnot limited to this, and the primary video set PRMVS may be recorded inthe persistent storage.

At least the primary video set PRMVS and at least one playlist PLLST(details will be described later) shall be recorded in the informationstorage medium DISC compliant to category 2 or 3. Other pieces ofinformation related with the advanced content ADVCT described in FIGS. 6and 7 shall be located in on information storage medium DISC but can bedelivered from a server via the network.

<Structure of Volume Space>

The Volume Space of an HD DVD-Video disc consists of

1) The Volume and File structure, which shall be assigned for the UDFstructure.

2) Single “HD DVD-Video zone”, which shall be assigned for the datastructure of HD DVD-Video format. This zone consists of “StandardContent zone” and “Advanced Content zone”.

3) “DVD others zone”, which may be used for other than HD DVD-Videoapplications.

The following rules apply for HD DVD-Video zone.

1) “HD DVD-Video zone” shall consist of a “Standard Content zone” inCategory 1 disc.

“HD DVD-Video zone” shall consist of an “Advanced Content zone” inCategory 2 disc.

“HD DVD-Video zone” shall consist of both a “Standard Content zone” andan “Advanced Content zone” in Category 3 disc.

2) “Standard Content zone” shall consist of single Video Manager (VMG)and at least 1 with maximum 511 Video Title Set (VTS) in Category 1 discand Category 3 disc. “Standard Content zone” should not exist inCategory 2 disc.

3) VMG shall be allocated at the leading part of “HD DVD-Video zone” ifit exists, that is Category 1 disc case.

4) VMG shall be composed of at least 2 with maximum 102 files.

5) Each VTS (except Advanced VTS) shall be composed of at least 3 withmaximum 200 files.

6) “Advanced Content zone” shall consist of files supported in AdvancedContent with an Advanced VTS. The maximum number of files for AdvancedContent zone under ADV_OJ directory is 512×2047.

7) Advanced VTS shall be composed of at least 3 with maximum 5995 files.

More intelligible explanations will be provided below.

The recording locations of the advanced content ADVCT and standardcontent STDCT recorded in the information storage medium DISC will bedescribed below using FIG. 5(c). In the following description, a mediumin which the recording location of only the advanced content ADVCT isset corresponds to the information storage medium DISC shown in FIG.5(b), and a medium in which the recording location of only the standardcontent STDCT corresponds to the information storage medium DISC ofcategory 1 shown in FIG. 5(a). A space that records each content on theinformation storage medium DISC, as shown in FIG. 5(c), is defined as avolume space, and logical sector numbers LSN are assigned to alllocations in the volume space. In this embodiment, the volume space isformed of the following three zones.

1) Zone that Describes the Volume and File Structure (File SystemManagement Information Recording Area)

This zone is defined as an area that records management information of afile system, although it is not described in FIG. 5(c). In thisembodiment, a file system compliant to uniform disc format (UDF) isbuilt. The above zone indicates a zone which records managementinformation of that file system.

2) Single HD_DVD-Video Zone

This zone records data in this embodiment described in FIG. 5(c). Thiszone consists of a zone that records the advanced content ADVCT, and azone that records the standard content STDCT.

Other DVD related information recording zone.

3) DVD Others Zone

This zone records DVD related information other than information used inthe HD_DVD-Video of this embodiment. This zone can record informationrelated with the HD_DVD-Video recording standards and informationrelated with the existing DVD-Video and DVD-Audio standards.

In this embodiment, the following rules apply for the HD_DVD-Video zonedescribed in 2) above and FIG. 5(c).

1) The information storage media compliant to categories 1 and 3 canrecord information of one video manager VMG and 1 to 511 video titlesets VTS in the recording area of the standard content STDCT. Theinformation storage medium DISC compliant to category 2 cannot set therecording area of the standard content STDCT.

2) In the information storage medium DISC compliant to category 1, thevideo manager VMG shall be recorded at the first location in theHD_DVD-Video recording area.

3) The video manager VMG shall be composed of 2 with maximum 102 files.

4) Each video title set VTS except the advanced video title sets ADVTSshall be composed of at least 3 with maximum 200 files.

5) The recording area of the advanced content ADVCT shall consists offiles supported in the advanced content ADVCT with an advanced videotitle set ADVTS. The maximum number of files for advanced content ADVCTto be recorded in the recording area is 512×2047.

6) The advanced video title set ADVTS shall be composed of 3 with 5995files.

<Transition Upon Playback>

The transitions upon playback of the advanced content ADVCT and uponplayback of the standard content STDCT will be explained below usingFIG. 6. The information storage medium DISC compliant to category 3shown in FIG. 5(c) has a structure that can independently play back theadvanced content ADVCT and standard content STDCT. When the informationstorage medium DISC compliant to category 3 is inserted into an advancedinformation playback apparatus having an Internet connection function,the playback apparatus reads advanced navigation data ADVNV included inthe advanced content ADVCT in an initial state INSTT. After that, theplayback apparatus transits to an advanced content playback state ADVPS.The same processing applies when the information storage medium DISCcompliant to category 2 shown in FIG. 5(b) is inserted. In the advancedcontent playback state ADVPS shown in FIG. 6, a playback situation cantransit to a standard content playback state STDPS by executing acommand MSCMD corresponding to a markup file MRKUP or script file SCRPT.In the standard content playback state STDPS, the playback situation canreturn to the advanced content playback state ADVPS by executing acommand NCCMD of navigation commands set in the standard content STDCT.

In the standard content STDCT, system parameters which recordinformation, e.g., the presentation angle numbers, playback audionumbers, and the like that are set by the system as in the existingDVD-Video standards are defined. In this embodiment, the advancedcontent ADVCT can play back data to be set in the system parameter orcan change the system parameter values in the advanced content playbackstate ADVPS. In this manner, compatibility to the existing DVD-Videoplayback can be assured. Independently of the transition directionbetween the advanced content playback state ADVPS and the standardcontent playback state STDPS, the consistency of the setting values ofthe system parameters can be maintained in this embodiment.

When an arbitrary transition is made according to user's favor betweenthe advanced content ADVCT and standard content STDCT in the informationstorage medium DISC compliant to category 3 shown in FIG. 5(c), sincethe system parameter values have consistency, as described above, forexample, the same presentation language is used before and aftertransition, and the user's convenience upon playback can be assured.

<Medium Identification Processing Method>

FIG. 7 shows a medium identification processing method by theinformation playback apparatus of this embodiment when three differenttypes of information storage media DISC shown in FIG. 5 are mounted.

When the information storage medium DISC is mounted on a high-endinformation playback apparatus having a network connection function, theinformation playback apparatus determines if the information storagemedium DISC is compliant to HD_DVD (step S11). In case of theinformation storage medium DISC compliant to HD_DVD, the informationplayback apparatus goes to find a playlist file PLLST recorded in anadvanced content directory ADVCT located directly under the rootdirectory shown in FIG. 11 and determines if the information storagemedium DISC is compliant to category 2 or 3 (step S12). If the playlistfile PLLST is found, the information playback apparatus determines thatthe information storage medium DISC is compliant to category 2 or 3, andplays back the advanced content ADVCT (step S13). If the playlist filePLLST is not found, the information playback apparatus checks the videomanager ID number VMGM_ID recorded in the video manager information VMGIin the standard content STDCT and determines if the information storagemedium DISC is compliant to category 1 (step S14). In case of theinformation storage medium DISC compliant to category 1, the videomanager ID number VMGM_ID is recorded as specific data, and it can beidentified based on the information in a video manager category VMG_CATthat the standard content STDCT compliant to category 1 alone isrecorded. In this case, the standard content STDCT is played back (stepS15). If the mounted information storage medium DISC belongs to none ofcategories described in FIG. 5, a processing method depending on theinformation playback apparatus is adopted (step S16).

<Playback of Only Audio>

This embodiment supports a playback apparatus which does not have anyvideo display function and plays back only audio information. FIG. 8shows the startup sequence in an audio-only information playbackapparatus.

When the information storage medium DISC is mounted on the informationplayback apparatus, the information playback apparatus determines if theinformation storage medium DISC is compliant to HD_DVD (step S21). Ifthe information storage medium DISC is not compliant to HD_DVD in thisembodiment, a processing method depending on the information playbackapparatus is adopted (step S24). Also, if the information playbackapparatus is not the one which plays back only audio information, aprocessing method depending on the information playback apparatus isadopted (steps S22 and S24). If the mounted information storage mediumDISC is compliant to HD_DVD of this embodiment, the information playbackapparatus checks the presence/absence of a playlist file PLLST recordedin the advanced content directory ADVCT located directly under the rootdirectory. If the playlist file PLLST is found, the information playbackapparatus which plays back only audio information plays back audioinformation (steps S22 and S23). At this time, the information playbackapparatus plays back information via the playlist file PLLST.

<Data Access Method>

Different management methods (different data access methods to contentsand the like) for the enhanced video object EVOB in the standard contentSTDCT and those in the advanced content ADVCT in this embodiment will bedescribed below with reference to FIG. 9.

On standard video title set information STVTSI as management informationin the standard content STDCT in this embodiment, access to eachenhanced video object EVOB is designated by a logical sector number LSNas address information on the logical space. In this way, since accessis managed using the address information, compatibility to the existingDVD-Video standards can be assured. By contrast, access to each enhancedvideo object EVOB in the advanced content ADVCT is managed not byaddress information but by time information. This point is a largetechnical feature in this embodiment. With this feature, not onlycompatibility to the video recording standards that allow existing videorecording and playback can be assured, but also easy edit processing isguaranteed. More specifically, in a playlist PLLST which representsplayback management information on the advanced content ADVCT, theplayback range of advanced video object data at a playback position isset by time information. In the advanced content ADVCT of thisembodiment, time information designated in the playlist PLLST can beconverted into address information by time map information TMAPI. Thetime map information TMAPI is used to convert the designated timeinformation into a logical sector number LSN indicating a logicaladdress position on the information storage medium DISC. The time mapinformation TMAPI is recorded at a position different from the playlistPLLST. Furthermore, advanced video title set information ADVTSI in theadvanced content ADVCT corresponds to the standard video title setinformation STVTSI in the standard content STDCT. This advanced videotitle set information ADVTSI records enhanced video object informationEVOBI which records individual attribute information of respectiveenhanced video object EVOB. This enhanced video object information EVOBIrefers to and manages each individual enhanced video object EVOB asmanagement information of attribute information. When this enhancedvideo object information EVOBI#3 manages and refers to attributes of theenhanced video object EVOB in the standard content STDCT, the playlistPLLST that manages playback of the advanced content ADVCT can designateplayback of enhanced video object EVOB in the standard content STDCT.

<Utilization of Standard Content By Advanced Content>

Standard Content can be utilized by Advanced Content. VTSI of AdvancedVTS can refer EVOBs which is also be referred by VTSI of Standard VTS,by use of TMAP (see FIG. 9). In this case, a TMAP Information refers oneor more EVOBUs in an EVOB. However, the EVOB may contain HLI, PCI and soon, which are not supported in Advanced Content. In the playback of suchEVOBS, some information which is not supported in Advanced Content suchas HLI and PCI shall be ignored in Advanced Content.

More intelligible explanations will be provided below.

As described above, the advanced content ADVCT can utilize some data inthe standard content STDCT. This point is a large technical feature inthis embodiment.

For example, as shown in FIG. 9, the enhanced video object informationEVOBI#3 in the advanced video title set information ADVTSI can refer toand play back enhanced video object EVOB#3 in the standard content STDCTby utilizing time map information TMAPI#3 in the advanced content ADVCT.Also, as shown in FIG. 9, the enhanced video object EVOB#3 referred toby the enhanced video object information EVOBI#3 in the advanced contentcan also be referred to by the standard video title set informationSTVTSI. As described above, in this embodiment, since the enhanced videoobject EVOB#3 in the standard content STDCT can be referred to by aplurality of pieces of information, it can be commonly utilized, and theefficiency of data to be recorded on the information storage medium DISCcan be improved.

This enhanced video object EVOB#3 includes information such as highlightinformation HLI, presentation control information PCI, and the like.However, the advanced content ADVCT does not support these pieces ofinformation, and information specified by these highlight informationHLI and presentation control information PCI is ignored upon playback ofthe advanced content ADVCT based on the playlist PLLST.

<Advanced VTS>

Advanced VTS is utilized Video Title Set for Advanced Content. Incomparison to Standard VTS, followings are additionally defined.

1) More Enhancement for an EVOB

-   -   1 Main Video stream    -   8 Main Audio streams (Maximum)    -   1 Sub Video stream    -   8 Sub Audio streams (Maximum)    -   32 Sub-picture streams (Maximum)    -   1 Advanced stream

2) Integration of Enhanced VOB Set (EVOBS)

-   -   Integration of both Menu EVOBS and Title EVOBS

3) Elimination of a Layered Structure

-   -   No Tide, no PGC, no PTT and no Cell    -   No supports of Navigation Command and UOP control

4) Introduction of New Time Map Information (TMAPI)

-   -   In case of Contiguous Block, one TMAPI corresponds to one EVOB        and it shall be stored as a file.    -   In case of Interleaved Block, the TMAPIs which correspond to        EVOBs in the Block shall be stored as a file.    -   Some information in a NV_PCK are simplified.

More intelligible explanations will be provided below.

The advanced video title set ADVTS shown in FIG. 5(c) will be describedbelow with reference to FIG. 9. The advanced video title set ADVTS isutilized as a video title set for the advanced content ADVCT.Differences between the advanced video title set ADVTS shown in FIG.5(c) and the standard video title set SVTS will be listed below.

1) More Enhancement for the Enhanced Video Object EVOB in AdvancedContent ADVCT

The advanced video title set ADVTS can have one main video stream MANVD,eight (maximum) or fewer main audio streams MANAD, one sub video streamSUBVD, eight (maximum) or less sub audio streams SUBAD, 32 (maximum) orfewer sub-picture streams SUBPT, and one advanced stream (stream datathat records an advanced application ADAPL to be described later).

2) Integration of Enhanced Video Object Set EVOBS

In the standard content STDCT, as shown in FIG. 4, enhanced video objectEVOB in the video manager VMG that represents a menu frame is completelyseparated from enhanced video object EVOB in the standard video titleset SVTS which represents video information to be played back, and amoving image and menu frame cannot be simultaneously presented. Bycontrast, the advanced video title set ADVTS in this embodiment canmanage and present a menu frame and a picture frame that represents amoving image by integrating them.

3) Elimination of a Layered Structure of Management Information forVideo Information

The existing DVD-Video and standard content STDCT adopts a layeredstructure of program chains PGC/parts of title PTT/cells as a videomanagement unit. However, the management method of the advanced contentADVCT in this embodiment does not adopt such layered structure. Also,the standard content STDCT of the existing DVD-Video uses navigationcommands to execute special processing such as transition processing andthe like and performs user operation processing. However, the advancedcontent ADVCT of this embodiment does not perform these processes.

4) Introduction of New Time Map Information TMAPI

In a contiguous block to be described later, one time map informationTMAPI corresponds to one enhanced video object EVOB, and respectivepieces of time map information TMAPI are recorded as one file on theinformation storage medium DISC. In case of an interleaved block, aplurality of enhanced video object EVOB corresponding to each stream inthat interleaved block are included. Time map information TMAPI is setfor each individual enhanced video object EVOB, and a plurality ofpieces of time map information TMAPI are recorded in one file for eachinterleaved block. Furthermore, information in a navigation pack NV_PCKdefined in the conventional DVD-Video and standard content STDCT isrecorded after it is simplified.

<Structure of Advanced Video Title Set (Advanced VTS)>

This VTS consists of only one Title. This VTS is composed of controldata referred to as Video Title Set Information (VTSI), Enhanced VideoObject Set for Titles in a VTS (VTSTT_EVOBS), Video Title Set Time MapInformation (VTS_TMAP), backup control data (VTSI_BUP) and backup ofVideo Title Set Time Map Information (VTS_TMAP_BUP).

The following rules shall apply to Video Title Set (VTS):

1) The control data (VTSI) and the backup of control data (VTSI_BUP) (ifexists: this data is recorded optionally) shall be a single File.

2) VTSI and VTSI_BUP (if exists) shall not be recorded in the same ECCblock.

3) Each of a Video Title Set Time Map Information (VTS_TMAP) and thebackup of this (VTS TMAP_BUP) (if exists: this data is recordedoptionally) shall be composed of files, up to a maximum of 999respectively.

4) VTS_TMAP and VTS_TMAP_BUP (if exists) shall not be recorded in thesame ECC block.

5) Files comprising VTS_TMAP shall be allocated continuously.

6) Files comprising VTS_TMAP_BUP (if exists) shall be allocatedcontinuously.

7) An EVOB which belongs to Contiguous Block shall be a single File.

8) EVOBs which consist of an Interleaved Block shall be included in asingle File.

9) An EVOBS of a VTS (VTSTT_EVOBS) shall be composed of files, up to amaximum of 999.

10) Files comprising VTSTT_EVOBS shall be allocated continuously.

11) The contents of VTSI_BUP (if exists) shall be exactly the same asVTSI completely. Therefore, when relative address information inVTSI_BUP refers to outside of VTSI BUP, the relative address shall betaken as a relative address of VTSI.

More intelligible explanations will be provided below.

The data structure in the advanced video title set ADVTS in the advancedcontent ADVCT shown in FIG. 9 will be described below.

In this embodiment, one advanced video title set ADVTS is composed ofonly one title that represents video information itself. In thisembodiment, the advanced video title set ADVTS is composed of advancedvideo title set information ADVTSI which records control information, anenhanced video object set VTSTT_EVOBS which stores a video titlerepresenting the video information itself, video title set time mapinformation VTS_TMAP which records time map information TMAPI shown inFIG. 9, backup information ADVTSI_BUP of the advanced video title setinformation ADVTSI, and backup information VTS_TMAP_BUP of the time mapinformation. These pieces of information shall be recorded contiguouslyin this order on the information storage medium DISC. The followingrules shall apply to the advanced video title set ADVTS in thisembodiment.

1) The advanced video title set information ADVTSI as controlinformation and its backup information ADVTSI_BUP shall be recorded as asingle file on the information storage medium DISC.

2) The advanced video title set information ADVTSI and its backupinformation ADVTSI_BUP shall not be stored in one ECC block together.When the advanced video title set information ADVTSI and its backupinformation ADVTSI_BUP are recorded contiguously, if the lastinformation in the advanced video title set information ADVTSI islocated in the middle of one ECC block, padding information should berecorded in the residual area in that ECC block so that the next backupinformation ADVTSI_BUP is allocated in a different ECC block. In thismanner, even when an ECC block at the boundary between the advancedvideo title set information ADVTSI and the next backup informationADVTSI_BUP cannot be read due to an error, one of these two pieces ofinformation can be played back, thus improving the reliability uponplayback.

3) Each of the video title set time map information VTS_TMAP and itsbackup information VTS_TMAP_BUP shall be recorded in 1 to 999 (maximum)or fewer files.

4) Each of the video title set time map information VTS_TMAP and itsbackup information VTS_TMAP_BUP shall not be recorded in one ECC blocktogether. That is, as in 2), when the boundary between these two piecesof information is to be allocated in one ECC block, i.e., when the lastpart of the video title set time map information VTS_TMAP is allocatedin the middle of one ECC block, padding data is recorded to allocate thenext backup information VTS_TMAP_BUP to be recorded from the headposition of the next ECC block. In this manner, the reliability uponplayback can be assured.

5) A plurality of files comprising the video title set time mapinformation VTS_TMAP shall be recorded continuously on the informationstorage medium DISC. In this way, the need for unwanted transitionprocessing of an optical head can be obviated, and the video title settime map information VTS_TMAP can be played back by single continuousplayback, thus attaining easy playback processing and speeding up.

6) A plurality of files comprising the backup information VTS_TMAP_BUPof each video title set time map information VTS_TMAP shall be recordedcontinuously on the information storage medium DISC. In this way, as in5), easy playback processing and speeding up can be attained.

7) An enhanced video object set VTSTT_EVOBS that record titles of theadvanced video title set shall be recorded on the information storagemedium DISC as 1 to 999 (maximum) or fewer files.

8) A plurality of files which record the enhanced video object setsVTSTT_EVOBS that record titles of the advanced video title set shall berecorded continuously on the information storage medium DISC. In thismanner, the enhanced video object sets VTSTT_EVOBS that record titles ofthe advanced video title set can be played back by single continuousplayback, thus assuring continuity upon playback.

9) The contents of the backup information ADVTSI_BUP of the advancedvideo title set information ADVTSI shall be the same as the advancedvideo title set information ADVTSI completely.

<Structure of Enhanced Video Object Set (EVOBS) in Advanced VTS>

The EVOBS is a collection of Enhanced Video Object which is composed ofdata on Video, Audio, Sub-picture and the like.

The following rules shall apply to EVOBS:

1) In an EVOBS, EVOBs are to be recorded in Contiguous Block andInterleaved Block.

2) An EVOBS is composed of one or more EVOBs. EVOB_ID numbers areassigned from the EVOB with the smallest LSN in EVOBS, in ascendingorder starting with one (1). EVOB_ID number is also corresponding to thesame number of EVOBI in VTSI.

3) Each EVOB has one corresponded TMAP file if the EVOB belongs toContiguous Block. EVOBs which compose Interleaved Block have onecorresponded TMAP file.

4) An EVOB shall be allocated in ascending order in logical sectornumber contiguously (without any gaps).

More intelligible explanations will be provided below.

The data structure of the enhanced video object EVOB in the advancedcontent ADVCT shown in FIG. 9 will be described below. In thisembodiment, a collection of enhanced objects EVOBs is called an enhancedvideo object set EVOBS, and is composed of data of video, audio,sub-picture, and the like. In this embodiment, the following rules shallapply to the enhanced video object set EVOBS in the advanced contentADVCT.

1) Enhanced video objects EVOBs are recorded in a contiguous block andinterleaved block (to be described later).

2) One enhanced video object set EVOBS includes one or more enhancedvideo object EVOB. The aforementioned ID numbers EVOB_ID of the enhancedvideo object are assigned in the layout order of enhanced video objectEVOB recorded on the information storage medium DISC. That is, the IDnumbers EVOB_ID are assigned in ascending order of logical sector numberLSN which indicates the recording address of enhanced video object EVOBon the logical space, and the first number is set to 1. The ID numberEVOB_ID of the enhanced video object is corresponding to the same numberof the enhanced video object information EVOBI described in the advancedtitle set information ADVTSI. That is, as shown in FIG. 9, enhancedvideo object EVOB#1 has an ID number EVOB_ID=“1”, and enhanced videoobject EVOB#2 has an ID number EVOB_ID=“2”. Enhanced video objectinformation EVOBI#1 which controls that data is set to have anumber=“1”, and enhanced video object information EVOBI#2 that managesthe enhanced video object EVOB#2 is set to have a number=“2”.

3) Each enhanced video object EVOB has one corresponded time map file ifthe enhanced video object EVOB belongs to the contiguous block. That is,as shown in FIG. 9, time map information TMAPI#1 exists as a part formanaging the time of enhanced video object EVOB#1, and this time mapinformation TMAPI#1 is recorded on the information storage medium DISCas one time map file. When a plurality of enhanced video objects EVOBscompose an interleaved block, one time map file is recorded on theinformation storage medium DISC in correspondence with one interleavedblock.

<Relation among Presentation Objects>

FIG. 10 shows the relation among Data Type, Data Source andPlayer/Decoder for each presentation object defined above.

More intelligible explanations will be provided below.

The advanced content ADVCT in this embodiment uses objects shown in FIG.10. The correspondence among the data types, data sources, andplayers/decoders, and player for each presentation object is shown inFIG. 10. Initially, “via network” and “persistent storage PRSTR” as thedata sources will be described below.

<Network Server>

Network Server is an optional data source for Advanced Content playback,but a player should have network access capability. Network Server isusually operated by the content provider of the current disc. NetworkServer usually locates in the internet.

More intelligible explanations will be provided below.

“Via network” related with the data sources shown in FIG. 10 will beexplained.

This embodiment is premised on playback of object data delivered fromthe network server NTSRV via the network as the data source of objectsused to play back the advanced content ADVCT. Therefore, a player withadvanced functions in this embodiment is premised on network access. Asthe network server NTSRV which represents the data source of objectsupon transferring data via the network, a server to be accessed isdesignated in the advanced content ADVCT on the information storagemedium DISC upon playback, and that server is operated by the contentprovider who created the advanced content ADVCT. The network serverNTSRV is usually located in the Internet.

<Data categories on Network Server>

Any Advanced Content files can exist on Network Server. AdvancedNavigation can download any files on Dada Sources to the File Cache orPersistent Storage by using proper API(s). For S-EVOB data read fromNetwork Server, Secondary Video Player can use Streaming Buffer.

More intelligible explanations will be provided below.

Files which record the advanced content ADVCT in this embodiment can berecoded in the network server NTSRV in advance. An applicationprocessing command API which is set in advance downloads advancednavigation data ADVNV onto a file cache FLCCH (data cache DTCCH) or thepersistent storage PRSTR. In this embodiment, a primary video set playercannot directly play back a primary video set PRMVS from the networkserver NTSRV. The primary video set PRMVS is temporarily recorded on thepersistent storage PRSTR, and data are played back via the persistentstorage PRSTR (to be described later). A secondary video player SCDVPcan directly play back secondary enhanced video object S-EVOB from thenetwork server NTSRV using a streaming buffer. The persistent storagePRSTR shown in FIG. 10 will be described below.

<Persistent Storage/Data categories on Persistent Storage>

There are two categories of Persistent Storage. One is called as“Required Persistent Storage”. This is a mandatory Persistent Storagedevice attached in a player. FLASH memory is typical device for this.The minimum capacity for Fixed Persistent Storage is 128 MB. Others areoptional and called as “Additional Persistent Storage”. They may beremovable storage devices, such as USB Memory/HDD or Memory Card. NAS(Network Attached Storage) is also one of possible Additional PersistentStorage device. Actual device implementation is not specified in thisspecification. They should pursuant API model for Persistent Storage.

Any Advanced Content files can exist on Persistent Storage. AdvancedNavigation can copy any files on Data Sources to Persistent Storage orFile Cache by using proper API(s). Secondary Video Player can readSecondary Video Set from Persistent Storage.

More intelligible explanations will be provided below.

This embodiment defines two different types of persistent storagesPRSTRs. The first type is called a required persistent storage (or afixed persistent storage as a mandatory persistent storage) PRSTR. Theinformation recording and playback apparatus 1 (player) in thisembodiment has the persistent storage PRSTR as a mandatory component. Asa practical recording medium which is most popularly used as the fixedpersistent storage PRSTR, this embodiment assumes a flash memory. Thisembodiment is premised on that the fixed persistent storage PRSTR has acapacity of 64 MB or more. When the minimum required memory size of thepersistent storage PRSTR is set, as described above, the playbackstability of the advanced content ADVCT can be guaranteed independentlyof the detailed arrangement of the information recording and playbackapparatus 1. As shown in FIG. 10, the file cache FLCCH (data cacheDTCCH) is designated as the data source. The file cache FLCCH (datacache DTCCH) represents a cache memory having a relatively smallcapacity such as a DRAM, SRAM, or the like. The fixed persistent storagePRSTR in this embodiment incorporates a flash memory, and that memoryitself is set not to be detached from the information playbackapparatus. However, this embodiment is not limited to such specificmemory, and for example, a portable flash memory may be used in additionto the fixed persistent storage PRSTR.

The other type of the persistent storage PRSTR in this embodiment iscalled an additional persistent storage PRSTR. The additional persistentstorage PRSTR may be a removable storage device, and can be implementedby, e.g., a USB memory, portable HDD, memory card, or the like.

In this embodiment, the flash memory has been described as an examplethe fixed persistent storage PRSTR, and the USB memory, portable HDD,memory card, or the like has been described as the additional persistentstorage PRSTR. However, this embodiment is not limited to such specificdevices, and other recording media may be used.

This embodiment performs data I/O processing and the like for thesepersistent storages PRSTR using the data processing API (applicationinterface). A file that records a specific advanced content ADVCT can berecorded in the persistent storage PRSTR. The advanced navigation dataADVNV can copy a file that records it from a data source to thepersistent storage PRSTR or file cache FLCCH (data cache DTCCH). Aprimary video player PRMVP can directly read and present the primaryvideo set PRMVS from the persistent storage PRSTR. The secondary videoplayer SCDVP can directly read and present a secondary video set SCDVSfrom the persistent storage PRSTR.

<Note about Presentation Objects>

Resource files in a disc, in Persistent Storage or in network need to beonce stored in File Cache.

More intelligible explanations will be provided below.

In this embodiment, the advanced application ADAPL or an advancedsubtitle ADSBT recorded in the information storage medium DISC, thepersistent storage PRSTR, or the network server NTSRV needs to be oncestored in the file cache, and such information then undergoes dataprocessing. When the advanced application ADAPL or advanced subtitleADSBT is once stored in the file cache FLCCH (data cache DTCCH),speeding up of the presentation processing and control processing can beguaranteed.

The primary video player PRMVP and secondary video player SDCVP as theplayback processors shown in FIG. 10 will be described later. In short,the primary video player PRMVP includes a main video decoder MVDEC, mainaudio decoder MADEC, sub video decoder SVDEC, sub audio decoder SADEC,and sub-picture decoder SPDEC. As for the secondary video player SCDVP,the main audio decoder MADEC, sub video decoder SVDEC, and sub audiodecoder SADEC are commonly used as those in the primary video playerPRMVP. Also, an advanced element presentation engine AEPEN and advancedsubtitle player ASBPL will also be described later.

<Primary Video Set>

There is only one Primary Video Set on Disc. It consists of IFO, one ormore EVOB files and TMAP files with matching names.

More intelligible explanations will be provided below.

In this embodiment, only one primary video set PRMVS exists in oneinformation storage medium DISC. This primary video set PRMVS includesits management information, one or more enhanced video object filesEVOB, and time map files TMAP, and uses a common filename for each pair.

<Primary Video Set> (Continued)

Primary Video Set is a container format of Primary Audio Video. The datastructure of Primary Video Set is in conformity to Advanced VTS whichconsists of Video Title Set Information (VTSI), Time Map (TMAP) andPrimary Enhanced Video Object (P-EVOB). Primary Video Set shall beplayed back by the Primary Video Player.

More intelligible explanations will be provided below.

The primary video set PRMVS contains a format of a primary audio videoPRMAV. The primary video set PRMVS consists of advanced video title setinformation ADVTSI, time maps TMAP, and primary enhanced video objectP-EVOB, and the like. The primary video set PRMVS shall be played backby the primary video player PRMVP.

Components of the primary video set PRMVS shown in FIG. 10 will bedescribed below.

In this embodiment, the primary video set PRMVS mainly means main videodata recorded on the information storage medium DISC. The data type ofthis primary video set PRMVS consists of a primary audio video PRMAV,and a main video MANVD, main audio MANAD, and sub-picture SUBPT mean thesame information as video information, audio information, andsub-picture information of the conventional DVD-Video and the standardcontent STDCT in this embodiment. The advanced content ADVCT in thisembodiment can newly present a maximum of two frames at the same time.That is, a sub video SUBVD is defined as video information that can beplayed back simultaneously with the main video MANVD. Likewise, a subaudio SUBAD that can be output simultaneously with the main audio MANADis newly defined.

In this embodiment, the following two different use methods of the subaudio SUBAD are available:

1) A method of outputting audio information of the sub video SUBVD usingthe sub audio SUBAD when the main video MANVD and sub video SUBVD arepresented at the same time; and

2) A method of outputting the sub audio SUBAD to be superimposed on themain audio MANAD as a comment of a director when only the main videoMANVD is played back and presented on the screen and the main audioMANAD as audio information corresponding to video data of the main videoMANVD is output and when, for example, the comment of the director isaudibly output to be superposed.

<Secondary Video Set>

Secondary Video Set is used for substitution of Main Video/Main Audiostreams to the corresponding streams in Primary Video Set (SubstituteAudio Video), substitution of Main Audio stream to the correspondingstream in Primary Video Set (Substitute Audio), or used for additionto/substitution of Primary Video Set (Secondary Audio Video). SecondaryVideo Set may be recoded on a disc, recorded in Persistent Storage ordelivered from a server. The file for Secondary Video Set is once storedin File Cache or Persistent Storage before playback, if the data isrecorded on a disc, and it is possible to be played with Primary VideoSet simultaneously. Secondary Video Set on a disc may be directlyaccessed in case that Primary Video Set is not played back (i.e. it isnot supplied from a disc). On the other hand, if Secondary Video Set islocated on a server, whole of this data should be once stored in FileCache or Persistent Storage and played back (“Complete downloading”), ora part of this data should be stored in Streaming Buffer sequentiallyand stored data in the buffer is played back without buffer overflowduring downloading data from a server (“Streaming”).

More intelligible explanations will be provided below.

The secondary video set SCDVS is used as a substitution for the mainaudio MANAD in the primary video set PRMVS, and is also used asadditional information or substitute information of the primary videoset PRMVS. This embodiment is not limited to this. For example, thesecondary video set SCDVS may be used as a substitution for a main audioMANAD of a substitute audio SBTAD or as an addition (superimposedpresentation) or substitution for a secondary audio video SCDAV. In thisembodiment, the content of the secondary video set SCDVS can bedownloaded from the aforementioned network server NTSRV via the network,or can be recorded and used in the persistent storage PRSTR, or can berecorded in advance on the information storage medium DISC of theembodiment of the invention. If information of the secondary video setSCDVS is recorded in the information storage medium DISC of theembodiment, the following mode is adopted. That is, the secondary videoset file SCDVS is once stored in the file cache FLCCH (data cache DTCCH)or the persistent storage PRSTR, and is then played back from the filecache or persistent storage PRSTR. The information of the secondaryvideo set SCDVS can be played back simultaneously with some data of theprimary video set PRMVS. In this embodiment, the primary video set PRMVSrecorded on the information storage medium DISC can be directly accessedand presented, but the secondary video set SCDVS recorded on theinformation storage medium DISC in this embodiment cannot be directlyplayed back. In this embodiment, information in the primary video setPRMVS is recorded in the aforementioned persistent storage PRSTR, andcan be directly played back from the persistent storage PRSTR. Morespecifically, when the secondary video set SCDVS is recorded on thenetwork server NTSRV, whole of the secondary video set SCDVS are oncestored in the file cache FLCCH (data cache DTCCH) or the persistentstorage PRSTR, and are then played back. This embodiment is not limitedto this. For example, a part of the secondary video set SCDVS recordedon the network server NTSRV is once stored in the streaming bufferwithin the range in which the streaming buffer does not overflow, asneeded, and can be played back from there.

<Secondary Video Set> (Continued)

Secondary Video Set can carry three types of Presentation Objects,Substitute Audio Video, Substitute Audio and Secondary Audio Video.Secondary Video Set may be provided from Disc, Network Server,Persistent Storage or File Cache in a player. The data structure ofSecondary Video Set is a simplified and modified structure of AdvancedVTS. It consists of Time Map (TMAP) with attribute information andSecondary Enhanced Video Object (S-EVOB). Secondary Video Set shall beplayed back by the Secondary Video Player.

More intelligible explanations will be provided below.

The secondary video set SCDVS can carry three different types ofpresentation objects, i.e., a substitute audio video SBTAV, a substituteaudio SBTAD, and secondary audio video SCDAV. The secondary video setSCDVS may be provided from the information storage medium DISC, networkserver NTSRV, persistent storage PRSTR, file cache FLCCH, or the like.The data structure of the secondary video set SCDVS is a simplified andpartially modified structure of the advanced video title set ADVTS. Thesecondary video set SCDVS consists of time map TMAP and secondaryenhanced video object S-EVOB. The secondary video set SCDVS shall beplayed back by the secondary video player SCDVP.

Components of the secondary video set SCDVS shown in FIG. 10 will bedescribed below.

Basically, the secondary video set SCDVS indicates data which isobtained by reading information from the persistent storage PRSTR or viathe network, i.e., from a location other than the information storagemedium DISC in this embodiment, and presenting the read information bypartially substituting for the primary video set PRMVS described above.That is, the main audio decoder MADEC shown in FIG. 10 is common to thatof the primary video player PRMVP and the secondary video player SCDVP.When the content of the secondary video set SCDVS is to be played backusing the main audio decoder MADEC in the secondary video player SCDVP,the sub audio SUBAD of the primary video set PRMVS is not played back bythe primary video player PRMVP, and is output after it is substituted bydata of the secondary video set SCDVS. The secondary video set SCDVSconsists of three different types of objects, i.e., the substitute audiovideo SBTAV, substitute audio SBTAD, and secondary audio video SCDAV. Amain audio MANAD in the substitute audio SBTAD is basically used when itsubstitutes for the main audio MANAD in the primary video set PRMVS. Thesubstitute audio video SBTAV consists of the main video MANDV and themain audio MANAD. The substitute audio SBTAD consists of one main audiostream MANAD. For example, when the main audio MANAD recorded in advanceon the information storage medium DISC as the primary video set PRMVSrecords Japanese and English in correspondence with video information ofthe main video MANVD, the main audio MANAD can only present Japanese orEnglish audio information upon presentation to the user. By contrast,this embodiment can attain as follows. That is, for a user who speaksChinese as the native language, Chinese audio information recorded inthe network server NTSRV is downloaded via the network, and audioinformation upon playing back the main video MANVD of the primary videoset PRMVS can be output instead of presenting the audio information inJapanese or English while it is substituted by Chinese as the main audioMANAD of the secondary video set SCDVS. Also, the sub audio SUBAD of thesecondary video set SCDVS can be used when audio informationsynchronized with the window of the sub video SUBVD of the secondaryaudio video SCDAV is to be presented upon presentation on two windows(e.g., when comment information of a director is simultaneouslypresented to be superposed on the main audio MANAD which is output insynchronism with the main video MANVD of the primary video set PRMVSdescribed above).

<Secondary Audio Video>

Secondary Audio Video contains zero or one Sub Video stream and zero toeight Sub Audio streams. This is used for addition to Primary Video Setor substitution of Sub Video stream and Sub Audio stream in PrimaryVideo Set.

More intelligible explanations will be provided below.

In this embodiment, the secondary audio video SCDAV contains zero or onesub video SUBVD and zero to eight sub audio SUBAD. In this embodiment,the secondary audio video SCDAV is used to be superimposed on (inaddition to) the primary video set PRMVS. In this embodiment, thesecondary audio video SCDAV can also be used as a substitution for thesub video SUBVD and sub audio SUBAD in the primary video set PRMVS.

<Secondary Audio Video> (Continued)

Secondary Audio Video replaces Sub Video and Sub Audio presentations ofPrimary Audio Video. It may consist of Sub Video stream with/without SubAudio stream or Sub Audio stream only. While being played back one ofpresentation stream in Secondary Audio Video, it is prohibited to beplayed Sub Video stream and Sub Audio stream in Primary Audio Video. Thecontainer format of Secondary Audio Video is Secondary Video Set.

More intelligible explanations will be provided below.

The secondary audio video SCDAV replaces the sub video SUBVD and subaudio SUBAD in the primary video set PRMVS. The secondary audio videoSCDAV has the following cases.

1) Case of consisting of the video SUBAD stream only;

2) Case of consisting both the sub video SUBVD and sub audio SUBAD; and

3) Case of consisting of the sub audio SUBAD only.

At the time of playing back a stream in the secondary audio video SCDAV,the sub video SUBVD and sub audio SUBAD in the primary audio video PRMAVcannot be played back. The secondary audio video SCDAV is included inthe secondary video set SCDVS.

<Advanced Application>

An Advanced Application consists of one Manifest file, Markup file(s)(including content/style/timing/layout information), Script file(s),Image file(s) (JPEG/PNG/MNG/Capture Image Format), Effect Audio file(s)(LPCM wrapped by WAV), Font file(s) (Open Type) and others. A Manifestfile gives information for display layout, an initial Markup file to beexecuted, Script file(s) and resources in the Advanced Application.

More intelligible explanations will be provided below.

The advanced application ADAPL in FIG. 10 consists of information suchas a markup file MRKUP, script file SCRPT, still picture IMAGE, effectaudio file EFTAD, font file FONT, and others. As described above, thesepieces of information of the advanced application ADAPL are used oncethey are stored in the file cache. Information related with downloadingto the file cache FLCCH (data cache DTCCH) is recorded in a manifestfile MNFST (to be described later). Also, information of the downloadtiming and the like of the advanced application ADAPL is described inresource information RESRCI in the playlist PLLST. In this embodiment,the manifest file MNFST also contains information related with loadingof the markup file MRKUP information executed initially, informationrequired upon loading information recorded in the script file SCRPT ontothe file cache FLCCH (data cache DTCCH), and the like.

<Advanced Application> (Continued)

Advanced Application provides three functions. The first is to controlentire presentation behavior of Advanced Content. The next is to realizegraphical presentation, such as menu buttons, over the videopresentation. The last is to control effect audio playback. AdvancedNavigation files of Advanced Application, such as Manifest, Script andMarkup, define the behavior of Advanced Application. Advanced Elementfiles are used for graphical and audio presentation.

More intelligible explanations will be provided below.

The advanced application ADAPL provides the following three functions.

The first function is a control function (e.g., jump control betweendifferent frames) for presentation behavior of the advanced contentADVCT. The second function is a function of realizing graphicalpresentation of menu buttons and the like. The third function is aneffect audio playback control function. An advanced navigation fileADVNV contains a manifest MNFST, script file SCRPT, markup file MRKUP,and the like to implement the advanced application ADAPL. Information inan advanced element file ADVEL is related with a still picture IMAGE,font file FONT, and the like, and is used as presentation icons andpresentation audio upon graphical presentation and audio presentation ofthe second function.

<Advanced Subtitle>

An advanced subtitle ADSBT is also used after it is stored in the filecache FLCCH (data cache DTCCH) as in the advanced application ADAPL.Information of the advanced subtitle ADSBT can be fetched from theinformation storage medium DISC or persistent storage PRSTR, or via thenetwork. The advanced subtitle ADSBT in this embodiment basicallycontains a substituted explanatory title or telop for a conventionalvideo information or images such as pictographic characters, stillpictures, or the like. As for substitution of the explanatory title, itis basically formed based on text other than the images, and can also bepresented by changing the font file FONT. Such advanced subtitles ADSBTcan be added by downloading them from the network server NTSRV. Forexample, a new explanatory title or a comment for a given videoinformation can be output while playing back the main video MANVD in theprimary video set PRMVS stored in the information storage medium DISC.As described above, the following use method is available. That is, whenthe sub-picture SUBPT stores only Japanese and English subtitles as, forexample, the subtitles in the primary video set PRMVS, the user whospeaks Chinese as the native language downloads a Chinese subtitle asthe advanced subtitle ADSBT from the network server NTSRV via thenetwork, and presents the downloaded subtitle. The data type in thiscase is set as the type of markup file MRKUPS for the advanced subtitleADSBT or font file FONT.

<Advanced Subtitle> (Continued)

Advanced Subtitle is used for subtitle synchronized with video, whichmay be substitution of the Sub-picture data. It consists of one Manifestfile for Advanced Subtitle, Markup file(s) for Advanced Subtitle(including content/style/timing/layout information), Font file(s) andImage file(s). The Markup file for Advanced Subtitle is a subset ofMarkup for Advanced Application.

More intelligible explanations will be provided below.

In this embodiment, the advanced subtitle ADSBT can be used as asubtitle (explanatory title or the like) which is presented insynchronism with the main video MANVD of the primary video set PRMVS.The advanced subtitle ADSBT can also be used as simultaneouspresentation (additional presentation processing) for the sub-pictureSUBPT in the primary video set PRMVS or as a substitute for thesub-picture SUBPT of the primary video set PRMVS. The advanced subtitleADSBT consists of one manifest file MNFSTS for the advanced subtitleADSBT, markup file(s) MRKUPS for the advanced subtitle ADSBT, fontfile(s) FONTS and image file(s) IMAGES. The markup file MRKUPS for theadvanced subtitle ADSBT exists as a subset of the markup file MRKUP ofthe advanced application ADAPL.

<Advanced Subtitle> (Continued)

Advanced Subtitle provides subtitling feature. Advanced Content has twomeans for subtitling. The one is by using with Sub-picture stream inPrimary Audio Video as well as Sub-picture function of Standard Content.The other is by using with Advanced Subtitle. Both means shall not beused at the same time. Advanced Subtitle is a subset of AdvancedApplication.

More intelligible explanations will be provided below.

The advanced content ADVCT has two means for a subtitle.

As the first mean, the subtitle is used as a sub-picture stream in theprimary audio PRMAV as in the sub-picture function of the standardcontent STDCT. As the second mean, the subtitle is used as the advancedsubtitle ADSBT. Both means shall not be used in both the purposes at thesame time. The advanced subtitle ADSBT is a subset of the advancedapplication ADAPL.

<Advanced Stream>

Advanced Stream is a data format of package files containing one or moreAdvanced Content files except for Primary Video Set. Advanced Stream ismultiplexed into Primary Enhanced Video Object Set (P-EVOBS) anddelivered to File Cache with P-EVOBS data supplying to Primary VideoPlayer. The same files which are multiplexed in P-EVOBS and aremandatory for Advanced Content playback, should be stored as files onDisc. These duplicated copies are necessary to guarantee AdvancedContent playback. Because Advanced Stream supply may not be finished,when Advanced Content playback is jumped. In this case, necessary filesare directly copied by File Cache Manager from Disc to Data Cache beforere-starting playback from specified jump timing.

More intelligible explanations will be provided below.

An advanced stream is a data format of package files containing one ormore advanced content files ADVCT except for the primary video setPRMVS. The advanced stream is recorded to be multiplexed in a primaryenhanced video object set P-EVOBS, and is delivered to the file cacheFLCCH (data cache DTCCH). This primary enhanced video object set P-EVOBSundergoes playback processing by the primary video player PRMVP. Thesefiles which are recorded to be multiplexed in the primary enhanced videoobject set P-EVOBS are mandatory for playback of the advanced contentADVCT, and should be stored on the information storage medium DISC ofthis embodiment to have a file structure.

<Advanced Navigation>

Advanced Navigation files shall be located as files or archived inpackage file. Advanced Navigation files are read and interpreted forAdvanced Content playback. Playlist, which is Advanced Navigation filefor startup, shall be located on “ADV OBJ” directory. AdvancedNavigation files may be multiplexed in P-EVOB or archived in packagefile which is multiplexed in P-EVOB.

More intelligible explanations will be provided below.

Files related with the advanced navigation ADVNV are used in interruptprocessing upon playback of the advanced content ADVCT.

<Primary Audio Video>

Primary Audio Video can provide several presentation streams, MainVideo, Main Audio, Sub Video, Sub Audio and Sub-picture. A player cansimultaneously play Sub Video and Sub Audio, in addition to Main Videoand Main Audio. Primary Audio Video shall be exclusively provided fromDisc. The container format of Primary Audio Video is Primary Video Set.Possible combination of video and audio presentation is limited by thecondition between Primary Audio Video and other Presentation Objectwhich is carried by Secondary Video Set. Primary Audio Video can alsocarry various kinds of data files which may be used by AdvancedApplication, Advanced Subtitle and others. The container stream forthese files is called Advanced Stream.

More intelligible explanations will be provided below.

The primary audio video PRMAV is composed of streams containing a mainvideo MANVD, main audio MANAD, sub video SUBVD, sub audio SUBAD, andsub-picture SUBPT. The information playback apparatus can simultaneouslyplay back the sub video SUBVD and sub audio SUBAD, in addition to themain video MANVD and main audio MANAD. The primary audio video PRMAVshall be recorded in the information storage medium DISC or thepersistent storage PRSTR. The primary audio video PRMAV is included as apart of the primary video set PRMVS. Possible combination of video andaudio presentation is limited by the condition between the primary audiovideo PRMAV and the secondary video set SDCVS. The primary audio videoPRMAV can also carry various kinds of data files which may be used bythe advanced application ADAPL, advanced subtitle ADSBT, and others. Thestream contained in these files are called an advanced stream.

<Substitute Audio>

Substitute Audio replaces the Main Audio presentation of Primary AudioVideo. It shall consist of Main Audio stream only. While being playedSubstitute Audio, it is prohibited to be played back Main Audio inPrimary Video Set. The container format of Substitute Audio is SecondaryVideo Set. If Secondary Video Set includes Substitute Audio Video, thenSecondary Video Set can not contain Substitute Audio.

More intelligible explanations will be provided below.

The substitute audio SBTAD replaces the main audio MANAD presentation ofthe primary audio video PRMAV. This substitute audio SBTAD shallconsists of a main audio MANAD stream only. Wile being played thesubstitute audio SBTAD, it is prohibited to be played back the mainaudio MANAD in the primary video set PRMVS. The substitute audio SBTADis contained in the secondary video set SCDVS.

<Primary Enhanced Video Object (P-EVOB) for Advanced Content>

Primary Enhanced Video Object (P-EVOB) for Advanced Content is the datastream which carries presentation data of Primary Video Set. PrimaryEnhanced Video Object for Advanced Content is just referred as PrimaryEnhanced Video Object or P-EVOB. Primary Enhanced Video Object complieswith Program Stream prescribed in “The system part of the MPEG-2standard (ISO/IEC 13818-1)”. Types of presentation data of Primary VideoSet are Main Video, Main Audio, Sub Video, Sub Audio and Sub-picture.Advanced Stream is also multiplexed into P-EVOB.

Possible pack types in P-EVOB are followings.

-   -   Navigation Pack (NV_PCK)    -   Main Video Pack (VM_PCK)    -   Main Audio Pack (AM_PCK)    -   Sub Video Pack (VS_PCK)    -   Sub Audio Pack (AS_PCK)    -   Sub-picture Pack (SP_PCK)    -   Advanced Pack (ADV_PCK)

Time Map (TMAP) for Primary Video Set specifies entry points for eachPrimary Enhanced Video Object Unit (P-EVOBU).

Access Unit for Primary Video Set is based on access unit of Main Videoas well as traditional Video Object (VOB) structure. The offsetinformation for Sub Video and Sub Audio is given by SynchronousInformation (SYNCI) as well as Main Audio and Sub-picture.

Advanced Stream is used for supplying various kinds of Advanced Contentfiles to the File Cache without any interruption of Primary Video Setplayback. The demux module in the Primary Video Player distributesAdvanced Stream Pack (ADV_PCK) to the File Cache Manager in theNavigation Manager.

More intelligible explanations will be provided below.

The primary enhanced video object P-EVOB for the advanced content ADVCTis the data stream which carries presentation data of the primary videoset PRMVS. As the types of presentation data of the primary video setPRMVS, the main video MANVD, main audio MANAD, sub video SUBVD, subaudio SUBAD, and sub-picture SUBPT are included. In this embodiment, aspacks included in the primary enhanced video object P-EVOB, a navigationpack NV_PCK exists as in the existing DVD and the standard contentSTDCT, and an advanced stream pack that records the advanced streamexists. In this embodiment, offset information to the sub video SUBVDand sub audio SUBAD is recorded in synchronous information SYNCI as inthe main audio MANAD and sub-picture SUBPT.

<File Structure>

FIG. 11 shows the file structure when various object streams shown inFIG. 10 are recorded on the information storage medium DISC. In thisembodiment, as for the advanced content ADVCT, an advanced contentdirectory ADVCT is allocated immediately under the root directory of theinformation storage medium DISC, and all files are recorded in thatdirectory. A playlist file PLLST that records information related withplayback exists under the advanced content directory ADVCT. Togetherwith this file, an advanced application directory ADAPL that recordsinformation related with the advanced application, a primary video setdirectory PRMVS that records information related with the primary videoset, a secondary video set directory SCDVS that records informationrelated with the secondary video set, and an advanced subtitle directoryADSBT that records information related with the advanced subtitle arerecorded.

Under the advanced application directory ADAPL, an advanced navigationdirectory ADVNV that records management information related with theadvanced application, and an advanced element directory ADVEL thatrecords information related with various advanced elements (objectinformation and the like) use in the advanced application. The advancednavigation directory ADVNV includes a manifest file MNFST related with amanifest which records the relationship among various kinds ofmanagement information used in the advanced application and informationlists required for network downloading together, a markup file MRKUPwhich records markup data related with page layouts and the like, ascript file SCRPT which records script commands. The advanced elementdirectory ADVEL includes a still picture file IMAGE which records stillpictures, an effect audio file EFTAD which records effect audio data, afont file FONT which records font information, and other file OTHER.

Under the primary video set directory PRMVS, a primary audio videodirectory PRMAV exists. This directory includes a video title setinformation file ADVTSI which records attribute information andmanagement information related with the enhanced video objects of theprimary audio video, a time map file PTMAP of the primary video setwhich records time map information used to convert time information ofthe primary video set into address information, and a primary enhancedvideo object file P-EVOB which records the primary enhanced videoobjects.

Under the secondary video set directory SCDVS, a substitute audiodirectory SBTAD and secondary audio video directory SCDAV exist. Underthe secondary audio video directory SCDAV, a time map file STMAP of thesecondary video set which records time map information used to converttime information of the secondary video set into address information,and a secondary enhanced video object file S-EVOB which records thesecondary enhanced video objects exist. Under the substitute audiodirectory SBTAD as well, the time map file STMAP used to convert timeinformation of the secondary video set into address information, and thesecondary enhanced video object file S-EVOB can be stored.

Under the advanced subtitle directory ADSBT, an advanced navigationdirectory ADVNV which records management information related with theadvanced subtitle, and an advanced element directory ADVEL as elementinformation of the advanced subtitle exist. The advanced navigationdirectory ADVNV includes a manifest file MNFSTS of the advancedsubtitle, and a markup file MRKUPS of the advanced subtitle. Themanifest file MNFSTS of the advanced subtitle records the relationshipamong various kinds of management information related with the advancedsubtitle and information required for network downloading. The markupfile MRKUPS of the advanced subtitle records markup information used todesignate the presentation position of the advanced subtitle on thescreen and the like. The advanced element directory ADVEL includes afont file FONTS of the advanced subtitle which records font informationof the advanced subtitle.

<Directories for Advanced Content>

“Directories for Advanced Content” may exist only under the “ADV_OBJ”directory. Any files of Advanced Navigation, Advanced Element andSecondary Video Set can reside at this directory. The name of thisdirectory shall be consisting of character set defined in Files forAdvanced Content below. The total number of “ADV_OBJ” sub-directories(excluding “ADV_OBJ” directory) shall be less than 512. Directory depthshall be equal or less than 8 from “ADV_OBJ” directory.

More intelligible explanations will be provided below.

The name of the advanced content directory ADVCT and directories andfilenames included in this directory are described using d-characters ordl-characters. Sub-directories exist under the advanced contentdirectory ADVCT. The depth of layers of the sub-directories is eightlayers or less, and the total number of sub-directories shall be lessthan 512 in this embodiment. If the directories are too deep, or if thetotal number of sub-directories is too large, accessibility drops.Therefore, in this embodiment, high-speed access is assured by limitingthe number of layers and that of directories.

<Files for Advanced Content>

The total number of files under the “ADV_OBJ” directory shall be limitedto 512×2047, and the total number of files in each directory shall beless than 2048. Character code set “A to Z a to z 0 to 9 SP ! $ & ′ ()+, −. ; =@ _” (20h, 21h, 24h to 29h, 2Bh to 2Eh, 30h to 39h, 3Bh, 3Dh,40h to 5Ah, 5Fh, 61h to 7Ah in ISO 8859-1) are used for filename. Thelength of the filename shall be equal to or less than 255 characters.For use of the filename, following rule shall be applied.

-   -   A disc may have characters in both upper case and lower case.    -   A disc must not have the same filename where only the difference        case character. (e.g. test.jpg and TEST.JPG must not co-exist in        a disc)    -   Filename referred in XML/Script document shall match the        filename for Advanced Element in a disc/Persistent        Storage/network. <case-sensitive> (e.g. test.jpg is not linked        to TEST.JPG)

More intelligible explanations will be provided below.

The total number of files that can be recorded under the advancedcontent directory ADVCT shall be limited to be 512×2047, and the totalnumber of files that can be recorded in each directory is shall be lessthan 2048. The filename adopts a structure in which a dot “.” isallocated after each filename, and an extension is allocated after thedot The advanced content directory ADVCT is recorded directly under theroot directory of the information storage medium, and the playlist filePLLST is recorded directly under this advanced content directory ADVCT.

<Playlist>

A Playlist file shall reside under “ADV_OBJ” directory with having thefilename “VPLST%%%.XPL” for a player which connects with a displaydevice, or the filename “APLST&&&.XPL” for a player which doesn'tconnect with a display device, in case of Category 2 disc and Category 3disc. If the Playlist file is necessary to be read in the startupsequence, the Playlist file shall reside directly under “ADV_OBJ”directory (its sub-directories are not included), and “%%%” and “&&&”are described by the value “000” to “999”. In this case, the Playlistfile which has the maximum number shall be read initially in the startupsequence.

More intelligible explanations will be provided below.

A plurality of playlist files PLLST can be recorded on the informationstorage medium DISC. As the playlist file PLLST, two different types ofplaylist files PLLST can be set. The filename of a playlist file PLLSTwhich is directly accessed by the information playback apparatus uponplayback is set to be “VPLIST%%%.XML”, and that of a playlist file PLLSTwhich is not directly accessed by the information playback apparatus isset to be “APLIST&&&.XML”. Note that “%%%” and “&&&” store numeralsranging from 000 to 999.

<Filename for Advanced Video Title Set (Advanced VTS)>

The filename for Video Title Set Information shall be “HVA00001.VTI”.

The filename for Enhanced Video Object shall have extension of “EVO”.

The filename of Time Map Information for Contiguous Block shall havesame body in filename as that of a corresponding EVOB, with extension of“MAP”.

The filename of Time Map Information for Interleaved Block shall havesame body in filename as that of corresponding EVOBs, with extension of“MAP”.

The filename of Time Map Information for Standard VTS referred inAdvanced Content shall be “HVSO@@@@.MAP”.

-   -   “@@@@” shall be four characters of “0001” to “1998” which are        same number as EVOB index number assigned to each EVOBI and        TMAP.

More intelligible explanations will be provided below.

The advanced video title set information file ADVTSI shown in FIG. 11shall have a filename of “HVA00001.VTI”. The extension of the filenameof the primary enhanced video object file P-EVOB and that of thesecondary enhanced video object file S-EVOB shall be “EVO”. Theextension of the filename of the time map file PTMAP of the primaryvideo set and that of the time map file STMAP of the secondary video setshall be “MAP”.

The number of files of the primary video set time map files PTMAP andsecondary video set time map files STMAP shall be limited to 999 orfewer. By specifying the number of time map files, speeding up of accesscontrol to the enhanced object EVOB is guaranteed

FIGS. 12, 13A and 13B show the data structure of an advanced content andexplanations of effects and the like.

<Advanced Content>

Advanced Content realizes more interactivity in addition to theextension of audio and video realized by Standard Content. AdvancedContent consists of followings.

-   -   Playlist    -   Primary Video Set    -   Secondary Video Set    -   Advanced Application    -   Advanced Subtitle

Playlist gives playback information among presentation objects as shownin FIG. 12. For instance, to play back Primary Video Set, a player readsa TMAP file by using URI described in the Playlist, interprets an EVOBIreferred by the TMAP and access appropriate P-EVOB defined in the EVOBI.To present Advanced Application, a player reads a Manifest file by usingURI described in the Playlist, and starts to present an initial Markupfile described in the Manifest file after storing resource elements(including the initial file).

More intelligible explanations will be provided below.

In this embodiment, there is provided the advanced content ADVCT whichfurther extends the audio and video expression format implemented by thestandard content STDCT and realizes interactivity. The advanced contentADVCT consists of the playlist PLLST, the primary video set PRMVS,secondary video set SCDVS, advanced application ADAPL, and advancedsubtitle ADSBT shown in FIG. 10. The playlist PLLST shown in FIG. 12records information related with the playback methods of various kindsof object information, and these pieces of information are recorded asone playlist file PLLST under the advanced content directory ADVCT, asshown in FIG. 11.

<Playlist> (Again)

A Playlist file is described by XML and one or more Playlist file arelocated on a disc. A player interprets initially a Playlist file to playback Advanced Content. The Playlist file consists of followinginformation.

-   -   Object Mapping Information    -   Track Number Assignment Information    -   Track Navigation Information    -   Resource Information    -   Playback Sequence Information    -   System Configuration Information    -   Scheduled Control Information

More intelligible explanations will be provided below.

The playlist PLLST or the playlist file PLLST which records the playlistPLLST is described using XML, and one or more playlist files PLLST arerecorded in the information storage medium DISC. In the informationstorage medium DISC which records the advanced content ADVCT thatbelongs to category 2 or category 3 in this embodiment, the informationplayback apparatus searches for the playlist file PLLST immediatelyafter insertion of the information storage medium DISC. In thisembodiment, the playlist file PLLST includes the following information.

1) Object Mapping Information OBMAPI

Object mapping information OBMAPI is set as playback information relatedwith objects such as the primary video set PRMVS, secondary video setSCDVS, advanced application ADAPL, advanced subtitle ADSBT, and thelike. In this embodiment, the playback timing of each object data isdescribed in the form of mapping on a title timeline to be describedlater. In the object mapping information OBMAPI, the locations of theprimary video set PRMVS and secondary video set SCDVS are designatedwith reference to a location (directory or URL) where their time mapfile PTMAP or time map file STMAP exists. In the object mappinginformation OBMAPI, the advanced application ADAPL and advanced subtitleADSBT are determined by designating the manifest file MNFSTcorresponding to these objects or its location (directory or URL).

2) Track Number Assignment Information

This embodiment allows to have a plurality of audio streams andsub-picture streams. On the playlist PLLST, information indicating whatnumber of stream data is to be presented is described. The informationindicating what number of stream is used is described as a track number.As the track number to be described, video track numbers for videostreams, sub video track numbers for sub video streams, audio tracknumbers for audio streams, sub audio track numbers for sub audiostreams, subtitle track numbers for subtitle streams, and applicationtrack numbers for application streams are set.

3) Track Navigation Information TRNAVI

Track navigation information TRNAVI describes related information forthe assigned track numbers, and records attribute information forrespective track numbers as lists for the sake of convenience for user'sselection. For example, language codes and the like are recorded in thenavigation information for respective track numbers: track No.1=Japanese; track No. 2=English; track No. 3=Chinese; and so forth. Byutilizing the track navigation information TRNAVI, the user canimmediately determine a favorite language.

4) Resource Information RESRCI

Resource information RESRCI indicates timing information such as a timelimit of transfer of a resource file into the file cache and the like.This resource information also describes reference timings of resourcefiles and the like in the advanced application ADAPL.

5) Playback Sequence Information PLSQI

Playback sequence information PLSQI describes information, which allowsthe user to easily execute jump processing to a given chapter position,such as chapter information in a single title and the like. Thisplayback sequence information PLSQI is presented as a time designationpoint on a title timeline TMLE.

6) System Configuration Information

System configuration information records structural information requiredto constitute a system such as a stream buffer size that represents thedata size required upon storing data in the file cache via the Internet,and the like.

7) Scheduled Control Information SCHECI

Scheduled control information SCHECI records schedule indicating pausepositions (timings) and event starting positions (timings) on the titletimeline TMLE.

<Data Reference from Playlist>

FIG. 12 shows the data reference method to respective objects by theplaylist PLLST. For example, when specific primary enhanced objectP-EVOB is to be played back on the playlist PLLST, that primary enhancedobject P-EVOB shall be accessed after enhanced video object informationEVOBI which records its attribute information is referred to. Theplaylist PLLST specifies the playback range of the primary enhancedobject P-EVOB as time information on the timeline. For this reason, thetime map information PTMAP of the primary video set shall be referred tofirst as a tool used to convert the designated time information into theaddress position on the information storage medium DISC. Likewise, theplayback range of secondary enhanced video object S-EVOB is alsodescribed as time information on the playlist PLLST. In order to searchthe data source of the secondary enhanced video object S-EVOB on theinformation storage medium DISC within that range, the time mapinformation STMAP of the secondary video set SCDVS is referred to first.Data of the advanced application ADAPL shall be stored on the file cachebefore they are used by the information playback apparatus, as shown inFIG. 10. For this reason, in order to use various data of the advancedapplication ADAPL, the manifest file MNFST shall be referred to from theplaylist PLLST to transfer various resource files described in themanifest file MNFST (the storage locations and resource filenames of theresource files are also described in the manifest file MNFST) onto thefile cache FLCCH (data cache DTCCH). Similarly, in order to user variousdata of the advanced subtitle ADSBT, they shall be stored on the filecache FLCCH (data cache DTCCH) in advance. By utilizing the manifestfile MNFSTS of the advanced subtitle ADSBT, data transfer to the filecache FLCCH (data cache DTCCH) can be made. Based on the markup fileMRKUPS in the advanced subtitle ADSBT, the representation position andtiming of the advanced subtitle ADSBT on the screen can be detected, andthe font file FONTS in the advanced subtitle ADSBT can be utilized whenthe advanced subtitle ADSBT information is presented on the screen.

<Reference to Time Map>

In order to present the primary video set PRMVS, the time mapinformation PTMAP shall be referred to and access processing to primaryenhanced video object P-EVOB defined by the enhanced video objectinformation EVOBI shall be executed.

Point contents and effects in a data structure in advanced contentsADVCT according to this embodiment will now be described with referenceto FIGS. 13A and 13B. There are the following eight point contents andeffects.

Characteristics/point contents according to this embodiment will now bedescribed hereinafter.

1) As setting management information concerning a time axis layout and atwo-dimensional layout in a user display screen, hierarchical structuresof a playlist PLLST and a markup MRKUP are provided, and both structuresare written in the same description format (XML).

2) A media clock according to a title timeline TMLE is provided in theplaylist PLLST, and a page clock/application clock according to asetting by a timing element is provided in the markup MRKUP. Moreover,both clocks can be independently set (they do not have to besynchronized with each other).

3) A screen layout on an initial stage in a moving picture (an enhancedvideo object EVOB) is specified in the playlist PLLST (a video attributeitem element VABITM), and can be changed in accordance with execution ofa script SCRPT.

4) A layout of a display region (an application region APPRGN) of anadvanced application ADAPL in the screen is specified in a manifestMNFST, and a layout for each element is specified in the markup MRKUP.

5) A plurality of markups MRKUP can be set with respect to one playlistPLLST.

6) Executing a script SCRPT set in a markup page allows transitionbetween a plurality of markup pages MRKUP in the same playlist PLLST.

7) A plurality of markup pages MRKUP which can be targets of transitionin the same playlist PLLST can be specified by a plurality of manifestsMNFST. Additionally, a markup page MRKUP which is displayed first in theplurality of markup pages MRKUP is written in each correspondingmanifest MNFST. A specified markup file MRKUP is temporarily stored in afile cache FLCCH in advance, and original storage positions of elementfiles such as a markup file MRKUP, a still image IMAGE or effect audioEFTAD which should be temporarily stored in the file cache are writtenin a playlist PLLST as a list of application resource elements APRELE(see FIGS. 63A to 63C).

8) A markup page MRKUP which is displayed on an initial stage isspecified from a playlist PLLST via SRC attribute information (resourceattribute information) of an advance application segment ADAPL or SRCattribute information (resource attribute information) of an markupelement MRKUP in a manifest MNFST.

Effects with respect to the characteristics/point contents (1) to (8)will now be described.

(1) Expandability and flexibility of setting management informationconcerning a layout are improved. Further, interpretation processing ofmanagement information can be facilitated and shared by the samedescription format.

(2) Application screens (screens concerning an advanced applicationADAPL and an advanced subtitle ADSBT) played back with an applicationclock at a standard speed can be simultaneously displayed duringhigh-speed playback/rewind playback of moving picture informationsynchronized with a title timeline TMLE, and the expression for a usercan be greatly improved.

(3) Since a display region of a moving picture can be arbitrarily set ina user screen, the expression for a user can be greatly improved.

(4) Arrangement positions of respective elements of an advancedapplication ADAPL are grouped (by an application region APPRGN), therebyfacilitating management using an advanced application manager ADAMNG.Furthermore, layout management with respect to a display region of amoving picture (e.g., prevention of overlapping) can be facilitated.

(5) Transition between a plurality of markup pages MRKUP can bedisplayed during display of the same moving picture, thus greatlyimproving the expression for a user.

(6) A method of transition between a plurality of markup pages MRKUPbecomes considerably flexible (for example, transition between markuppages MRKUP does not occur immediately after a user specifies an action,and delayed transition can be set in a script SCRPT in accordance with adisplay screen of a moving picture (see new effects (1.3) obtained as aresult of technical innovation of FIGS. 2A to 2C). The delayedtransition can be set by using an event element EVNTEL shown in (f) ofFIG. 75B.

(7) Since markup page MRKUP information specified by a manifest MNFSTcan be stored in the file cache FLCCH in advance, transition between aplurality of markup pages MRKUP can be carried out at a high speed, thusimproving user-friendliness (leaving a favorite impression on a user).Moreover, since an original storage position of an element file such asa markup file MRKUP, a still image IMAGE or effect audio EFTAD whichshould be temporarily stored in the file cache FLCCH is written in theplaylist PLLST as a list of application resource elements APRELE, a listof resources which should be temporarily stored in the file cache can berecognized in advance, and the efficiency of download processing ofresources to the file cache FLCCH can be promoted.

(8) The expandability for specification of a markup page MRKUP from theplaylist PLLST can be improved, and the editing simplicity can be alsoenhanced.

<Network Route>

FIG. 1 shows an example of the network route from the network serverNTSRV to the information recording and playback apparatus 1, which goesthrough the router 11 in the home via the optical cable 12 to attaindata connection via a wireless LAN in the home. However, this embodimentis not limited to this. For example, this embodiment may have anothernetwork route. FIG. 1 illustrates a personal computer as the informationrecording and playback apparatus 1. However, this embodiment is notlimited to this. For example, a single home recorder or a single homeplayer may be set as the information recording and playback apparatus.Also, data may be directly displayed on the monitor by a wire withoutusing the wireless LAN.

In this embodiment, the network server NTSRV shown in FIG. 1 storesinformation of the secondary video set SCDVS, advanced applicationADAPL, and advanced subtitle ADSBT shown in FIG. 10 in advance, andthese pieces of information can be delivered to the home via the opticalcable 12. Various data sent via the optical cable 12 are transferred tothe information recording and playback apparatus 1 in the form ofwireless data 17 via the router 11 in the home. The router 11 comprisesthe wireless LAN controller 7-2, data manager 9, and network controller8. The network controller 8 controls data updating processing with thenetwork server NTSRV, and the wireless LAN controller 7-2 transfers datato the home wireless LAN. The data manager 9 controls such data transferprocessing. Data of various contents of the secondary video set SCDVS,advanced application ADAPL, and advanced subtitle ADSBT, which are sentto be multiplexed on the wireless data 17 from the router 11, arereceived by the wireless LAN controller 7-1, and are then sent to theadvanced content playback unit ADVPL, and some data are stored in thedata cache DTCCH shown in FIG. 14. The information playback apparatus ofthis embodiment incorporates the advanced content playback unit ADVPLwhich plays back the advanced content ADVCT, the standard contentplayback unit STDPL which plays back the standard content STDCT, and therecording and playback processor 4 which performs video recording on therecordable information storage medium DISC or the hard disk device 6 andcan play back data from there. These playback units and the recordingand playback processor 4 are organically controlled by the main CPU 5.As shown in FIG. 1, information is played back or recorded from or onthe information storage medium DISC in the information recording andplayback unit 2. In this embodiment, media to be played back by theadvanced content playback unit ADVPL are premised on playback ofinformation from the information recording and playback unit 2 or thepersistent storage drive (fixed or portable flash memory drive) 3. Inthis embodiment, as described above, data recorded on the network serverNTSRV can also be played back. In this case, as described above, datasaved in the network server NTSRV go through the optical cable 12, gothrough the wireless LAN controller 7-2 in the router 11 under thenetwork control in the router 11 to be transferred in the form ofwireless data 17, and are then transferred to the advanced contentplayback unit ADVPL via the wireless LAN controller 7-1. Videoinformation to be played back by the advanced content playback unitADVPL can be displayed on the wide-screen TV monitor 15 from thewireless LAN controller 7-1 in the form of wireless data 18 when it canbe displayed on the display 13 or when a user request of presentation ona wider screen is detected. The wide-screen TV monitor 15 incorporatesthe video processor 24, video display unit 21, and wireless LANcontroller 7-3. The wireless data 18 is received by the wireless LANcontroller 7-3, then undergoes video processing by the video processor24, and is displayed on the wide-screen TV monitor 15 via the videodisplay unit 21. At the same time, audio data is output via theloudspeakers 16-1 and 16-2. The user can make operations on a window(menu window or the like) displayed on the display 13 using the keyboard14.

<Internal Structure of Advanced Content Playback Unit>

The internal structure of the advanced content playback unit ADVPL inthe system explanatory diagram shown in FIG. 1 will be described belowwith reference to FIG. 14. In this embodiment, the advanced contentplayback unit ADVPL comprises the following five logical functionalmodules.

<Data Access Manager>

Data Access Manager is responsible to exchange various kind of dataamong data sources and internal modules of Advanced Content Player.

More intelligible explanations will be provided below.

A data access manager DAMNG is used to manage data exchange between theexternal data source where the advanced content ADVCT is recorded, andmodules in the advanced content playback unit ADVPL. In this embodiment,as the data source of the advanced content ADVCT, the persistent storagePRSTR, network server NTSRV, and information storage medium DISC arepremised, and the data access manager DAMNG exchanges information fromthem. Various kinds of information of the advanced content ADVCT areexchanged with a navigation manager NVMNG (to be described later), thedata cache DTCCH, and a presentation engine PRSEN via the data accessmanager DAMNG.

<Data Cache>

Data Cache is temporal data storage for Advanced Content playback.

More intelligible explanations will be provided below.

The data cache DTCCH is used as a temporal data storage (temporary datasave location) in the advanced content playback unit ADVPL.

<Navigation Manager>

Navigation Manager is responsible to control all functional modules ofAdvanced Content player in accordance with descriptions in AdvancedApplication. Navigation Manager is also responsible to control userinterface devices, such as remote controller or front panel of a player.Received user interface device events are handled in Navigation Manager.

More intelligible explanations will be provided below.

The navigation manager NVMNG controls all functional modules of theadvanced content playback unit ADVPL in accordance with the descriptioncontents of the advanced application ADAPL. This navigation managerNVMNG also makes control in response to a user operation UOPE. The useroperation UOPE is generated based on key in on a front panel of theinformation playback apparatus, that on a remote controller, and thelike. Information received from the user operation UOPE generated inthis way is processed by the navigation manager NVMNG.

<Presentation Engine>

Presentation Engine is responsible for playback of presentationmaterials, such as Advanced Element of Advanced Application, AdvancedSubtitle, Primary Video Set and Secondary Video set.

The presentation engine PRSEN performs presentation playback of theadvanced content ADVCT.

<AV Renderer>

AV Renderer is responsible to composite video inputs and mix audioinputs from other modules and output to external devices such asspeakers and display.

More intelligible explanations will be provided below.

An AV renderer AVRND executes composition processing of videoinformation and audio information input from other modules, andexternally outputs composite information to the loudspeakers 16-1 and16-2, the wide-screen TV monitor 15, and the like. The audio informationused in this case may be either independent stream information or audioinformation obtained by mixing the sub audio SUBAD and main audio MANAD.

<Implementation of Automatic Updating of Object Information, etc.>

A practical example of new effects obtained as a result of the technicaldevices according to this embodiment, which have been described usingFIGS. 2A, 2B, and 2C, will be described below with reference to FIGS.15A and 15B. As a method of exhibiting a new effect 5.1) “Automaticupdating of object information and intra-disc management information” of5] “Provide information update function on disc using network,” in thisembodiment, as shown in FIGS. 15A and 15B, the commercial 44 ascommercial information, the independent window 32 for a commercial, thetelop commercial 43, and the preview 41 can always be supplied to theuser as the latest video information. This point is a large technicalfeature in this embodiment.

By always changing the preview 41 to the latest information, the previewof the movie can be timely conducted to the users so as to create anopportunity to call them to a movie theater. In this embodiment, sincethe commercials (commercial 44, independent window 32 for a commercial,and telop commercial 43) are presented to be linked with playback of themain title 31, sponsor charges are collected from commercial sponsorslike in normal TV broadcasting, thus holding down the sales prices ofthe information storage media to the users. The concept of insertion ofcommercials into video information has been popularly proposedconventionally. In this embodiment, the latest commercial information isread from the network server NTSRV and the latest commercial informationis presented to be linked with showing of the main title 31 recorded onthe information storage medium DISC. This point is a large technicalfeature in this embodiment. The latest preview 41 and commercialinformation are sequentially updated and saved in the network serverNTSRV shown in FIG. 1, and are downloaded via the network in synchronismwith the playback timing of the main title 31 recorded in theinformation storage medium DISC. The relationship between respectiveobjects shown in FIGS. 15A and 15B and those shown in FIG. 10 will bedescribed below.

In FIGS. 15A and 15B, the main title 31 includes the main video MANVDand main audio MANAD of the primary audio video PRMAV in the primaryvideo set PRMVS. The preview 41, commercial 44, and independent window32 for a commercial are also recorded as the sub video SUBVD and subaudio SUBAD of the primary audio video PRMAV in the primary video setPRMVS in the information storage medium DISC. However, when a specificperiod of time has elapsed after creation of the information storagemedium DISC, these pieces of information become too old to be presented.In such case, these pieces of information are substituted by the subvideo SUBVD and sub audio SUBAD of the secondary audio video SCDAV inthe secondary video set SCDVS saved in the network server NTSRV, and arepresented as the commercial 44 or the independent window 32 for acommercial. In this embodiment, the commercial 44 which is recorded inadvance on the information storage medium DISC can be recorded as themain video MANVD and main audio MANAD of the primary audio video PRMAVin the primary video set PRMVS as another embodiment. Likewise, wheninformation of the preview 41 is recorded in the information storagemedium DISC, it is recorded in the sub video SUBVD and sub audio SUBADof the primary audio video PRMAV in the primary video set PRMVS or inthe main video MANVD and main audio MANAD of the primary audio videoPRMAV. When a specific period of time has elapsed after creation of theinformation storage medium DISC upon playback, that information isdownloaded from the network server NTSRV as information of the sub videoSUBVD and sub audio SUBAD in the secondary audio video SCDAV in thesecondary video set SCDVS, and the downloaded information is presented.In this way, according to this embodiment, the commercial 44,information of the independent window 32 for a commercial or telopcommercial 43, and the preview 41 can always be presented to the user asthe latest ones, thus improving the PR effects.

<Detailed Playback Method of Video Content>

Presentation examples of the video content in this embodiment will bedescribed in detail below with reference to FIGS. 15A and 15B.

In FIG. 15A(a), when the information storage medium DISC is insertedinto the information recording and playback apparatus 1, the necessityexplanatory video information 42 of detailed navigation is presentedfirst. If the user does not feel the necessity of detailed navigation,he or she ignores it. However, if the user wants to see an explanationof the method of playing back the advanced content ADVCT on thisinformation storage medium DISC, he or she inputs necessity of detailednavigation to present directions of use of detailed navigation (notshown). In case of FIG. 15B(c), how to use a help key (to be describedlater) is explained in the necessity explanatory video information 42 ofdetailed navigation, and a help icon is presented all the time. As aresult, the user can designate the help icon when needed to ask for anexplanation of the use method.

In FIG. 15A(a), the aforementioned commercial 44 is inserted in themiddle of presentation of the main title 31 like in the broadcast TVscreen, and the presentation method and timing of the commercial 44 arethe same as those of commercials normally presented on broadcastreception TVs. In FIG. 15A(a), the preview 41 of a forthcoming movie ofthe content provider of the information storage medium DISC is presentedafter completion of presentation of the main title 31.

In FIG. 15B(b), the latest commercial 43 is presented to be superimposedon presentation of the main title 31 in the form of a telop. As a methodof always updating the presentation information of the telop commercial43 to the latest information, this embodiment utilizes the advancedsubtitle ADSBT with the aid of network downloading. This point is alarge technical feature in this embodiment. That is, at an early timing,the telop commercial 43 is presented in the form of a telop (runningtext information) in the sub-picture SUBPT of the primary audio videoPRMAV in the primary video set PRMVS. When a specific period of time haselapsed after the manufacture of the information storage medium DISC,since the latest information of the telop commercial 43 is recorded asthe advanced subtitle ADSBT in the network server NTSRV, it isdownloaded via the network and is presented as the telop commercial 43.

A video content presentation example in FIG. 15B(c) will be explainedbelow. In FIG. 15B(c), the preview 41 of a movie to be screened in amovie theater is presented immediately after the necessity explanatoryvideo information 42 of detailed navigation, and the main title 31 ispresented after presentation of the preview 41. In this case, theindependent window 32 for a different commercial is presented inaddition to the main title 31, and the help icon 33 is presented at thesame time. In this embodiment, the contents of the main title 31 arerecorded in advance in the information storage medium DISC as the mainvideo MANVD and main audio MANAD of the primary audio video PRMAV in theprimary video set PRMVS. The independent window 32 for a differentcommercial is recorded as the sub video SUBVD and sub audio SUBAD of theprimary audio video PRMAV in the primary video set PRMVS in theinformation storage medium DISC. This information is presented to theuser at an early timing. When a specific period of time has elapsedafter the manufacture of the information storage medium DISC, theindependent window 32 for a different commercial can present an updatedvideo information in this embodiment. As this method, information of theindependent window 32 for the latest commercial is saved in the networkserver NTSRV as the sub video SUBVD and sub audio SUBAD of the secondaryaudio video SCDAV in the secondary video set SCDAV, and is downloaded asneeded via the network, thus presenting the latest information to theuser. In the embodiment in FIG. 15B(c), the help icon 33 includes thestill picture file IMAGE and script file SCRPT of the advancedapplication ADAPL.

<Practical Example of Presentation Window>

FIG. 16 shows an example of the presentation window at point a when themain title 31, the independent window 32 for a commercial, and the helpicon 33 are displayed at the same time in FIG. 15B(c).

The main title 31 is presented on the upper left area in FIG. 16, theindependent window 32 for a commercial is presented on the upper rightarea, and the help icon 33 is presented on the lower area. New effectsas a result of the technical devices according to this embodiment shownin the window of FIG. 16 and FIGS. 2A, 2B, and 2C will be describedbelow.

As for 1] “Make flexible and impressive reactions in response to user'sactions” as the new effect obtained as a result of the technical devicesaccording to this embodiment described using FIGS. 2A, 2B, and 2C, aflexible and impressive window close to a homepage on the Internet canbe created in this embodiment. The help icon 33 in FIG. 16 correspondsto 1.4) “PC-like help” and 1.5) “How to use guide of menu, etc.,” as thepractical new effects of this embodiment. Picture data of the help icon33 on this window exists as the still picture file IMAGE of the advancedapplication ADAPL, and its information is stored in the advanced elementdirectory ADVEL in the advanced application directory ADAPL under theadvanced content directory ADVCT in the information storage medium DISCshown in FIG. 11. When the user clicks the help icon 33, a helpcompatible picture begins to move. Command processing related with suchmovement is recorded in the script file SCRPT in the advancedapplication ADAPL, i.e., it is stored in the script file SCRPT under theadvanced navigation directory ADVNV in the advanced applicationdirectory ADAPL under the advanced content directory ADVCT in FIG. 11.Information used to designate the still picture of the help icon 33 andan area defined by the script file is recorded in the markup file MRKUPshown in FIG. 11, and associating information (related informationrequired to download data) among these pieces of information is recordedin the manifest file MNFST. A plurality of pieces of information such asthe stop button 34, play button 35, FR (fast-rewinding) button 36, pausebutton 37, FF (fast-forwarding) button 38, and the like shown in FIG. 16are categorized as the advanced application ADAPL. Still picturescorresponding to these icons are stored in the still picture file IMAGEin FIG. 11, execution commands upon designation of each of these buttonsare recorded in the script file in FIG. 11, and their area designationsare recorded in the markup file MRKUP.

The window in FIG. 16 which corresponds to 3.1) “Simultaneously presenta plurality of pieces of video information by means of multi-windows”and 3.4) “Simultaneously present scrolling text to be superimposed onvideo information” of 3] “Simultaneously present independent informationto be superimposed on video information during playback” of the neweffects as a result of the technical devices according to thisembodiment shown in FIGS. 2A, 2B, and 2C will be described below.

In the existing DVD, only one type of video information can be displayedon one window. By contrast, in this embodiment, the sub video SUBVD andsub audio SUBAD can be presented simultaneously with the main videoMANVD and main audio MANAD. More specifically, the main title 31 in FIG.16 corresponds to the main video MANVD and main audio MANAD in theprimary video set PRMVS, and the independent window 32 for a commercialon the right side corresponds to the sub video SUBVD and sub audioSUBAD, so that the two windows can be displayed at the same time.Furthermore, in this embodiment, the independent window 32 for acommercial on the right side in FIG. 16 can be presented by substitutingit by the sub video SUBVD and sub audio SUBAD in the secondary video setSCDVS. This point is a large technical feature in this embodiment. Thatis, the sub video SUBVD and sub audio SUBAD in the primary audio videoof the primary video set PRMVS are recorded in advance in theinformation storage medium DISC, and the sub video SUBVD and sub audioSUBAD in the secondary video set SCDVS to be updated are recorded in thenetwork server NTSRV. Immediately after creation of the informationstorage medium DISC, the independent window 32 for a commercial recordedin advance in the information storage medium DISC is presented. When aspecific period of time has elapsed after creation of the informationstorage medium DISC, the sub video SUBVD and sub audio SUBAD in thesecondary video set SCDVS recorded in the network server NTSRV aredownloaded via the network and are presented to update the independentwindow 32 for a commercial to the latest video information. In thismanner, the independent window 32 for the latest commercial can alwaysbe presented to the user, thus improving the commercial effect of asponsor. Therefore, by collecting a large amount of commercial chargefrom the sponsor, the price of the information storage medium DISC to besold can be hold down, thus promoting prevalence of the informationstorage medium DISC in this embodiment. In addition, a telop textmessage 39 shown in FIG. 16 can be presented to be superimposed on themain title 31. As the telop text message, the latest information such asnews, weather forecast, and the like is saved on the network serverNTSRV in the form of the advanced subtitle ADSBT, and is presented whilebeing downloaded via the network as needed, thus greatly improving theuser's convenience. Note that text font information of the telop textmessage at that time can be stored in the font file FONTS in theadvanced element directory ADVEL in the advanced subtitle directoryADSBT, as shown in FIG. 11. Information about the size and presentationposition on the main title 31 of this telop text message 39 can berecorded in the markup file MRKUPS of the advanced subtitle ADSBT in theadvanced navigation directory ADVNV under the advanced subtitledirectory ADSBT in FIG. 11.

<Overview of Information in Playlist>

An overview of information in the playlist PLLST in this embodiment willbe described below with reference to FIG. 17. The playlist PLLST in thisembodiment is recorded in the playlist file PLLST located immediatelyunder the advanced content directory ADVCT in the information storagemedium DISC or persistent storage PRSTR, as shown in FIG. 11, andrecords management information related with playback of the advancedcontent ADVCT. The playlist PLLST records information such as playbacksequence information PLSQI, object mapping information OBMAPI, resourceinformation RESRCI, and the like. The playback sequence informationPLSQI records information of each title in the advanced content ADVCTpresent in the information storage medium DISC, persistent storagePRSTR, or network server NTSRV, and division position information ofchapters that divide video information in the title. The object mappinginformation OBMAPI manages the presentation timings and positions on thescreen of respective objects of each title. Each title is set with atitle timeline TMLE, and the presentation start and end timings of eachobject can be set using time information on that title timeline TMLE.The resource information RESRCI records information of the prior storagetiming of each object information to be stored in the data cache DTCCH(file cache FLCCH) before it is presented on the screen for each title.For example, the resource information RESRCI records information such asa loading start time LDSTTM for starting loading onto the data cacheDTCCH (file cache FLCCH), a use valid period VALPRD in the data cacheDTCCH (file cache FLCCH), and the like.

A set of pictures (e.g., one show program) which is displayed for a useris managed as a title in the playlist PLLST. A title which is displayedfirst when playing back/displaying advanced contents ADVCT based on theplaylist PLLST can be defined as a first play title FRPLTT. A playlistapplication resource PLAPRS can be transferred to the file cache FLCCHduring playback of the first play title FRPLTT as shown in FIG. 70, anda download time of the resource required for playback of a title #1 andsubsequent titles can be shortened. It is also possible to set theplaylist PLLST in such a manner that the first play title FRPLTT cannotbe set based on a judgment by a content provider.

<Presentation Control Based on Title Timeline>

As shown in FIG. 17, management information which designates an objectto be presented and its presentation location on the screen ishierarchized into two levels, i.e., the playlist PLLST, and the markupfile MRKUP and the markup file MRKUPS in the advanced subtitle ADSBT(via the manifest file MNFST and the manifest file MNFSTS in theadvanced subtitle ADSBT), and the presentation timing of an object to bepresented in the playlist PLLST is set in synchronism with the titletimeline TMLE. This point is a large technical feature in thisembodiment. In addition, the presentation timing of an object to bepresented is set in synchronism with the title timeline TMLE similarlyin the markup file MRKUP or the markup file MRKUPS of the advancedsubtitle ADSBT. This point is also a large technical feature in thisembodiment. Furthermore, in this embodiment, the information contents ofthe playlist PLLST as management information that designates the objectto be presented and its presentation location, the markup file MRKUP,and the markup file MRKUPS of the advanced subtitle ADSBT are describedusing an identical description language (XML). This point is also alarge technical feature in this embodiment, as will be described below.With this feature, easy edit and change processing of the advancedcontent ADVCT by its producer can be greatly improved compared to theconventional DVD-Video. As another effect, processing such as skipprocessing of the playback location and the like in the advanced contentplayback unit ADVPL which performs presentation processing upon specialplayback can be simplified.

<Relationship between Various Kinds of Information on Window andPlaylist>

A description of features of this embodiment will be continued withreference to FIG. 16. In FIG. 16, the main title 31, the independentwindow 32 for a commercial, and various icon buttons on the lower areaare presented on the window. The main video MANVD in the primary videoset PRMVS is presented on the upper left area of the window as the maintitle 31, and its presentation timing is described in the playlistPLLST. The presentation timing of this main title 31 is set insynchronism with the title timeline TMLE. The presentation location andtiming of the independent window 32 for a commercial recorded as, e.g.,the sub video SUBVD are also described in the aforementioned sameplaylist PLLST. The presentation timing of this the independent window32 for a commercial is also designated in synchronism with the titletimeline TMLE. In the existing DVD-Video, the window from the help icon33 to the FF button 38 in, e.g., FIG. 16 is recorded as the sub-pictureSUBPT in a video object, and command information executed upondepression of each button from the help icon 33 to the FF button 38 issimilarly recorded as highlight information HLI in a navigation pack inthe video object. As a result, easy edit and change processing by thecontent producer is not allowed. By contrast, in this embodiment, aplurality of pieces of command information corresponding to windowinformation from the help icon 33 to the FF button 38 are groupedtogether as the advanced application ADAPL, and only the presentationtiming and the presentation location on the window of the groupedadvanced application ADAPL are designated on the playlist PLLST.Information related with the grouped advanced application ADAPL shall bedownloaded onto the file cache FLCCH (data cache DTCCH) before it ispresented on the window. The playlist PLLST describes only the filenameand file saving location of the manifest file MNFST (manifest fileMNFSTS) that records information required to download data related withthe advanced application ADAPL and advanced subtitle ADSBT. Theplurality of pieces of window information themselves from the help icon33 to the FF button 38 in FIG. 16 are saved in the advanced elementdirectory ADVEL as still picture files IMAGE (see FIG. 11). Informationwhich manages the locations on the window and presentation timings ofrespective still pictures IMAGE from the help icon 33 to the FF button38 in FIG. 16 is recorded in the markup file MRKUP. This information isrecorded in the markup file MRKUP in the advanced navigation directoryADVNV in FIG. 11. Each control information (command information) to beexecuted upon pressing of each of buttons from the help icon 33 to theFF button 38 is saved in the script file SCRPT in the advancednavigation directory ADVNV in FIG. 11, and the filenames and file savinglocations of these script files SCRPT are described in the markup fileMRKUP (and manifest file MNFST). In FIG. 11, the markup file MRKUP,script file SCRPT, and still picture file IMAGE are recorded in theinformation storage medium DISC. However, this embodiment is not limitedto this, and these files may be saved in the network server NTSRV orpersistent storage PRSTR. In this way, the overall layout andpresentation timing on the window are managed by the playlist PLLST, andthe layout positions and presentation timings of respective buttons andicons are managed by the markup file MRKUP. The playlist PLLST makesdesignation with respect to the markup file MRKUP via the manifest fileMNFST. Video information and commands (scripts) of various icons andbuttons, and command information are stored in independent filescompared to the conventional DVD-Video in which they are stored in avideo object, and undergo middle management using the markup file MRKUP.This structure can greatly facilitate edit and change processing of thecontent producer. As for the telop text message 39 shown in FIG. 16, theplaylist PLLST designates the filename and file saving location of themarkup file MRKUPS of the advanced subtitle via the manifest file MNFSTSof the advanced subtitle (see FIG. 11). The markup file MRKUPS of theadvanced subtitle is recorded not only in the information storage mediumDISC but it can also be saved on the network server NTSRV or persistentstorage PRSTR in this embodiment.

<Playlist>(Again)

Playlist is used for two purposes of Advanced Content playback. The oneis for initial system configuration of a player. The other is fordefinition of how to play plural kind of presentation objects ofAdvanced Content. Playlist consists of following configurationinformation for Advanced Content playback.

-   -   Object Mapping Information for each Title        -   Track Number Assignment        -   Resource Information    -   Playback Sequence for each Title    -   Scheduled Control Information for each Title

System Configuration for Advanced Content playback

More intelligible explanations will be provided below.

In this embodiment, upon playback of the advanced content ADVCT, thereare two use purposes of the playlist PLLST, as will be described below.The first use purpose is to define the initial system structure (advancesettings of the required memory area in the data cache DTCCH and thelike) in the information playback apparatus 1. The second use purpose isto define the playback methods of plural kind of presentation objects inthe advanced content ADVCT. The playlist PLLST has the followingconfiguration information.

1) Object Mapping Information OBMAPI of Each Title

>Track number assignment

>Resource information RESRCI

2) Playback Sequence Information PLSQI of Each Title

3) System Configuration for Playback of the Advanced Content ADVCT

<Resource Information>

On Object Mapping Information in Playlist, there is information elementwhich specifies when resource files are needed for Advanced Applicationplayback or Advanced Subtitle playback. They are called ResourceInformation. There are two types of Resource Information. The one is theResource Information which is associated to Application. The other isthe Resource Information which is associated to Title.

More intelligible explanations will be provided below.

An overview of the resource information RESRCI shown in FIG. 17 will bedescribed below. The resource information RESRCI records informationindicating which timings resource files that record information neededto play back the advanced application ADAPL and advanced subtitle ADSBTare to be stored on the data cache DTCCH (file cache FLCCH) in theobject mapping information OBMAPI in the playlist PLLST. In thisembodiment, there are two different types of resource informationRESRCI. The first type of resource information RESRCI is that relatedwith the advanced application ADAPL, and the second type is that relatedwith the advanced subtitle ADSBT.

<Relationship between Track and Object Mapping>

Each Object Mapping Information of Presentation Object on Title Timelinecan contain Track Number Assignment information in Playlist. Track is toenhance selectable presentation streams through the differentPresentation Objects in Advanced Content. For example, it is possible toselect to play main audio stream in Substitute Audio in addition to theselection of main audio streams in Primary Audio Video. There are fivetypes of Tracks. They are main video, main audio, subtitle, sub videoand sub audio.

More intelligible explanations will be provided below.

The object mapping information OBMAPI corresponding to various objectsto be presented on the title timeline TMLE shown in FIG. 17 includestrack number assignment information defined in the playlist PLLST.

In the advanced content ADVCT of this embodiment, track numbers aredefined to select various streams corresponding to different objects.For example, audio information to be presented to the user can beselected from a plurality of pieces of audio information (audio streams)by designating the track number. As shown in, e.g., FIG. 10, thesubstitute audio SBTAD includes the main audio MANAD, which oftenincludes a plurality of audio streams having different contents. Bydesignating an audio track number defined in advance in the objectmapping information OBMAPI (track number assignment), an audio stream tobe presented to the user can be selected from a plurality of audiostreams. Also, audio information which is recorded as the main audioMANAD in the substitute audio SBTAD can be output to be superposed onthe main audio MANAD in the primary audio video PRMAV. In some cases,the main audio MANAD in the primary audio video PRMAV, which is to besuperposed upon output, often has a plurality of pieces of audioinformation (audio streams) having different contents. In such case, anaudio stream to be presented to the user can be selected from aplurality of audio streams by designating an audio track number which isdefined in advance in the object mapping information OBMAPI (tracknumber assignment).

In the aforementioned track, five different objects, i.e., the mainvideo MANVD, main audio MANAD, subtitle ADSBT, sub video SUBVD, and subaudio SUBAD exist, and these five different objects can simultaneouslyrecord a plurality of streams having different contents. For thisreason, track numbers are assigned to individual streams of these fivedifferent object types, and a stream to be presented to the user can beselected by selecting the track number.

<Information of Explanatory Title, Telop, etc.>

In this embodiment, there are two methods of displaying information ofthe explanatory title, telop, and the like, i.e., a method of displayingsuch information using the sub-picture SUBPT in the primary audio videoPRMAV and a method of displaying such information using the advancedsubtitle ADSBT. In this embodiment, mapping of the advanced subtitleADBST on the timeline TMLE can be independently defined on the objectmapping information OBMAPI irrespective of, e.g., the mapping situationof the primary audio video PRMAV and the like. As a result, not onlypieces of information such as a title and telop, i.e., the sub-pictureSUBPT in the primary audio video PRMAV and the advanced subtitle ADSBTcan be simultaneously presented, but also their presentation start andend timings can be respectively uniquely set. Also, one of them can beselectively presented, thereby greatly improving the presentationperformance of the subtitle and telop.

In FIG. 17, a part corresponding to the primary audio video PRMAV isindicated by a single band as P-EVOB. In fact, this band includes mainvideo MANVD tracks, main audio MANAD tracks, sub video SUBVD tracks, subaudio SUBAD tracks, and sub-picture SUBPT tracks. Each object includes aplurality of tracks, and one track (stream) is selected and presentedupon presentation. Likewise, the secondary video set SCDVS is indicatedby bands as S-EVOB, each of which includes sub video SUBVD tracks andsub audio SUBAD tracks. Of these tracks, one track (one stream) isselected and presented. If the primary audio video PRMAV alone is mappedon the object mapping information OBMAPI on the title timeline TMLE, thefollowing rules are specified in this embodiment to assure easy playbackcontrol processing.

-   -   The main video stream MANVD shall always be mapped on the object        mapping information OBMAPI and played back.    -   One track (one stream) of the main audio streams MANAD is mapped        on the object mapping information OBMAPI and played back (but it        may not be played back). This embodiment permits to map none of        the main audio streams MANAD on the object mapping information        OBMAPI, regardless of such rule.    -   Under the precondition, the sub video stream SUBVD mapped on the        title timeline TMLE is to be presented to the user, but it is        not always presented (by user selection or the like).    -   Under the precondition, one track (one stream) of the sub audio        streams SUBAD mapped on the title timeline TMLE is to be        presented to the user, but it is not always presented (by user        selection or the like)

If the primary audio video PRMAV and the substitute audio SBTAD aresimultaneously mapped on the title timeline TMLE and are simultaneouslypresented, the following rules are specified in this embodiment, thusassuring easy control processing and reliability in the advanced contentplayback unit ADVPL.

-   -   The main video MANVD in the primary audio video PRMAV shall be        mapped in the object mapping information OBMAPI and shall be        necessarily played back.    -   The main audio stream MANAD in the substitute audio SBTAD can be        played back in place of the main audio stream MANAD in the        primary audio video PRMAV.    -   Under the precondition, the sub video stream SUBVD is to be        simultaneously presented with given data, but it is not always        presented (by user selection or the like)    -   Under the precondition, one track (one stream) (of a plurality        of tracks) of the sub audio SUBAD is to be presented, but it is        not always presented (by user selection or the like)

When the primary audio video PRMAV and the secondary audio video SCDAVare simultaneously mapped on the title timeline TMLE in the objectmapping information OBMAPI, the following rules are specified in thisembodiment, thus assuring simple processing and high reliability of theadvanced content playback unit ADVPL.

-   -   The main video stream MANVD in the primary audio video PRMAV        shall be played back.    -   Under the precondition, one track (one stream) of the main audio        streams MANAD is to be presented, but it is not always presented        (by user selection or the like).    -   The sub video stream SUBVD and sub audio stream SUBAD in the        secondary audio video SCDAV can be played back in place of the        sub video stream SUBVD and sub audio stream SUBAD in the primary        audio video PRMAV. When sub video stream SUBVD and sub audio        stream SUBAD are multiplexed and recorded in the secondary        enhanced video object S-EVOB in the secondary audio video SCDAV,        playback of the sub audio stream SUBAD alone is inhibited.

<Object Mapping Position>

Time code for Title Timeline is ‘Time code’. It is based on non-dropframe and described as HH:MM:SS:FF.

The life period of all presentation objects shall be mapped anddescribed by Time code values onto Title Timeline. Presentation endtiming of audio presentation may not be exactly same as Time codetiming. In this case, the end timing of audio presentation shall berounded up to Video System Time Unit (VSTU) timing from the last audiosample presentation timing. This rule is to avoid overlapping of audiopresentation objects on the time on Title Timeline.

Video presentation timing for 60 Hz region, even if presentation objectis 1/24 frequency, it shall be mapped at 1/60 VSTU timing. For videopresentation timing of Primary Audio Video or Secondary Audio Video, itshall have 3:2 pull-down information in elementary stream for 60 Hzregion, so presentation timing on the Title Timeline is derived fromthis information for video presentation. For graphical presentationtiming of Advanced Application or Advanced Subtitle with 1/24 frequency,it shall follow graphic output timing model in this specification.

There are two conditions between 1/24 timing and 1/60 time code unittiming. The one is exactly matches both timings, and the other ismismatches between them. In case mismatch timing of 1/24 presentationobject frame, it shall be rounded up to the most recent 1/60 time unittiming.

More intelligible explanations will be provided below.

A method of setting a unit of the title timeline TMLE in this embodimentwill be explained below.

The title timeline TMLE in this embodiment has time units synchronizedwith the presentation timings of frames and fields of video information,and the time on the title timeline TMLE is set based on the count valueof time units. This point is a large technical feature in thisembodiment. For example, in the NTSC system, interlaced display has 60fields and 30 frames per second. Therefore, the duration of a minimumtime unit on the title timeline TMLE is divided into 60 per second, andthe time on the title timeline TMLE is set based on the count value ofthe time units. Also, progressive display in the NTSC system has 60fields=60 frames per second, and matches the aforementioned time units.The PAL system is a 50-Hz system, and interlaced display has 50 fieldsand 25 frames per second, and progressive display has 50 fields=50frames per second. In case of video information of the 50-Hz system, thetitle timeline TMLE is equally divided into 50 units per second, and thetime and timing on the title timeline TMLE is set based on a count valuewith reference to the equally divided one interval ( 1/50 sec). In thismanner, since the reference duration (minimum time unit) of the titletimeline TMLE is set in synchronism with the presentation timings offields and frames of video information, synchronized timing presentationcontrol among respective pieces of video information can be facilitated,and time settings with the highest precision within a practicallysignificant range can be made.

As described above, in this embodiment, the time units are set insynchronism with fields and frames of video information, i.e., one timeunit in the 60-Hz system is 1/60 sec, and one time unit in the 50-Hzsystem is 1/50 sec. At respective time unit positions (times), theswitching timings (presentation start or end timing or switching timingto another frame) of all presentation objects are controlled. That is,in this embodiment, the presentation periods of every presentationobjects are set in synchronism with the time units ( 1/60 sec or 1/50sec) on the title timeline TMLE. The frame interval of audio informationis often different from the frame or field interval of the videoinformation. In such case, as the playback start and end timings of theaudio information, the presentation period (presentation start and endtimes) is set based on timings which are rounded out in correspondencewith the unit interval on the title timeline TMLE. In this way,presentation outputs of a plurality of audio objects can be preventedfrom overlapping on the title timeline TMLE.

When the presentation timing of the advanced application ADAPLinformation is different from the unit interval of the title timelineTMLE (for example, when the advanced application ADAPL has 24 frames persecond and its presentation period is expressed on the title timeline ofthe 60-Hz system), the presentation timings (presentation start and endtimes) of the advanced application ADAPL are rounded out incorrespondence with the title timeline TMLE of the 60-Hz system (timeunit= 1/60 sec).

<Timing Model for Advanced Application>

Advanced Application (ADV APP) consists of one or plural Markup(s) fileswhich can have one-directional or bi-directional links each other,script files which shares a name space belonging to the AdvancedApplication, and Advanced Element files which are used by the Markup(s)and Script(s). Valid period of each Markup file in one AdvancedApplication is the same as the valid period of Advanced Applicationwhich is mapped on Title Timeline. During the presentation of oneAdvanced Application, active Markup is always only one. An active Markupjumps one to another. The valid period one Application is divided tothree major periods; pre-script period, Markup presentation period andpost-script period.

More intelligible explanations will be provided below.

In this embodiment, the valid period of the advanced application ADAPLon the title timeline TMLE can be divided into three periods i.e., apre-script period, markup presentation period, and post-script period.The markup presentation period represents a period in which objects ofthe advanced application ADAPL are presented in correspondence with timeunits of the title timeline TMLE based on information of the markup fileMRKUP of the advanced application ADAPL. The pre-script period is usedas a preparation period of presenting the window of the advancedapplication ADAPL prior to the markup presentation period. Thepost-script period is set immediately after the markup presentationperiod, and is used as an end period (e.g., a period used in releaseprocessing of memory resources) immediately after presentation ofrespective presentation objects of the advanced application ADAPL. Thisembodiment is not limited to this. For example, the pre-script periodcan be used as a control processing period (e.g., to clear the score ofa game given to the user) prior to presentation of the advancedapplication ADAPL. Also, the post-script period can be used in commandprocessing (e.g., point-up processing of the score of a game of theuser) immediately after playback of the advanced application ADAPL.

<Application Sync Model>

There are two kind of application which has following two Sync Models:

-   -   Soft-Sync Application    -   Hard-Sync Application

The information of sync type is defined by sync attribute of applicationsegment in Playlist. In Soft-Sync Application and Hard-Sync Application,the behavior to Title Timeline differs at the time of executionpreparation of application. Execution preparation of application isresource loading and other startup process (such as script global codeexecution). Resource loading is reading resource from storage (DISC,Persistent Storage and Network Server) and store to the File Cache.Every application shall not execute before all resource loading isfinished.

More intelligible explanations will be provided below.

The window during the aforementioned markup presentation period will bedescribed below. Taking the presentation window in FIG. 16 as anexample, when the stop button 34 is pressed during presentation of videoinformation in this embodiment, that video information stops, and thewindow presentation of, e.g., changing the shape and color of the stopbutton 34 can be changed. This means the effect of 1.1) “Make responseby means of change in animation and image at the time of buttonselection or execution instruction” in 1] “Make flexible and impressivereactions in response to user's actions” described in the column “Neweffects obtained as a result of technical devices” shown in FIGS. 2A,2B, and 2C. When the display window itself of FIG. 16 is largely changedas in the above example, the corresponding markup file MRKUP jumps toanother markup file MRKUP in the advanced application ADAPL. In thisway, by jumping the markup file MRKUP that sets the presentation windowcontents of the advanced application ADAPL to another markup file MRKUP,the apparent window presentation can be greatly changed. That is, inthis embodiment, a plurality of markup files MRKUP are set incorrespondence with different windows during the markup presentationperiod, and are switched in correspondence with switching of the window(the switching processing is executed based on a method described in thescript file SCRPT). Therefore, the start timing of a markup page on thetitle timeline TMLE during the presentation period of the markup fileMRKUP matches the presentation start timing of the one to be presentedfirst of the plurality of markup files MRKUP, and the end timing of amarkup page on the title timeline TMLE matches the presentation endtiming of the last one of the plurality of markup files MRKUP. As amethod of jumping the markup pages (changing the presentation window ofthe advanced application ADAPL part in the presentation window), thisembodiment specifies the following two sync models.

-   -   Soft-Sync Application    -   Hard-Sync Application

<Soft-Sync Application>

Soft-Sync Application gives preference to seamless proceeding of TitleTimeline over execution preparation. If ‘auto Run’ attribute is ‘true’and application is selected then resources will load into the File Cacheby soft synced mechanism. Soft-Sync Application is activated after thatall resources loading into the File Cache. The resource which cannotread without Title Timeline stopping shall not be defined as a resourceof Soft-Sync Application. In case, Title Timeline jump into the validperiod of Soft-Sync Application, the Application may not execute. Andalso, during the varied period of Soft-Sync Application, playback modechanges trick play to normal playback, the Application may not run.

More intelligible explanations will be provided below.

The first jump method is soft sync jump (jump model) of markup pages. Atthis jump timing, the time flow of the title timeline TMLE does not stopon the window to be presented to the user. That is, the switching timingof the markup page matches that of unit position (time) of theaforementioned title timeline TMLE, and the end timing of the previousmarkup page matches the start timing of the next markup page(presentation window of the advanced application ADAPL) on the titletimeline TMLE. To allow such control, in this embodiment, a time periodrequired to end the previous markup page (e.g., a time period used torelease the assigned memory space in the data cache DTCCH) is set tooverlap the presentation time period of the next markup page.Furthermore, the presentation preparation period of the next markup pageis set to overlap the presentation period of the previous markup page.The soft sync jump of the markup page can be used for the advancedapplication ADAPL or advanced subtitle ADSBT synchronized with the titletimeline TMLE.

<Hard-Sync Application>

Hard-Sync Application gives preference to execution preparation overseamless progress of Title Timeline. Hard-Sync Application is activatedafter all resources loading into the File Cache. If ‘auto Run’ attributeis ‘true’ and application is selected then resources will load into theFile Cache by hard synced mechanism. Hard-Sync Application holds theTitle Timeline during the resource loading and execution preparation ofapplication.

More intelligible explanations will be provided below.

As the other jump method, this embodiment also specifies hard sync jumpof markup pages. In general, a time change on the title timeline TMLEoccurs on the window to be presented to the user (count-up on the titletimeline TMLE is made), and the window of the primary audio video PRMAVchanges in synchronism with such change. For example, when the time onthe title timeline TMLE stops (the count value on the title timelineTMLE is fixed), the window of the corresponding primary audio videoPRMAV stops, and a still window is presented to the user. When the hardsync jump of markup pages occurs in this embodiment, a period in whichthe time on the title timeline TMLE stops (the count value on the titletimeline TMLE is fixed) is formed. In the hard sync jump of markuppages, the end timing time of a markup page before apparent switching onthe title timeline TMLE matches the playback start timing of the nextmarkup page on the title timeline TMLE. In case of this jump, the endperiod of the previously presented markup page does not overlap thepreparation period required to present the next markup page. For thisreason, the time flow on the title timeline TMLE temporarily stopsduring the jump period, and presentation of, e.g., the primary audiovideo PRMAV or the like is temporarily stopped. The hard sync jumpprocessing of markup pages is used in only the advanced applicationADAPL in this embodiment. In this way, the window change of the advancedsubtitle ADSBT can be made without stopping the time change on the titletimeline TMLE (without stopping, e.g., the primary audio video PRMAV)upon switching the presentation window of the advanced subtitle ADSBT.

The windows of the advanced application ADAPL, advanced subtitle ADSBT,and the like designated by the markup page are switched for respectiveframes in this embodiment. For example, interlaced display, the numberof frames per second is different from that of fields per second.However, when the windows of the advanced application ADAPL and advancedsubtitle ADSBT are controlled to be switched for respective frames,switching processing can be done at the same timing irrespective ofinterlaced or progressive display, thus facilitating control. That is,preparation of a window required for the next frame is started at theimmediately preceding frame presentation timing. The preparation iscompleted until the presentation timing of the next frame, and thewindow is displayed in synchronism with the presentation timing of thenext frame. For example, since NTSC interlaced display corresponds tothe 60-Hz system, the interval of the time units on the title timelineis 1/60 sec. In this case, since 30 frames are displayed per sec, theframe presentation timing is set at an interval of two units (theboundary position of two units) of the title timeline TMLE. Therefore,when a window is to be presented at the n-th count value on the titletimeline TMLE, presentation preparation of the next frame starts at the(n−2)-th timing two counts before, and a prepared graphic frame (awindow that presents various windows related with the advancedapplication ADAPL will be referred to as a graphic frame in thisembodiment) is presented at the timing of the n-th count on the titletimeline TMLE. In this embodiment, since the graphic frame is preparedand presented for respective frames in this way, the continuouslyswitched graphic frames can be presented to the user, thus preventingthe user from feeling odd.

<Presentation Clip element and Object Mapping Information>

Title element in Playlist file contains a list of element, called byPresentation Clip element, which describes Object Mapping Information ofthe segment of Presentation Object.

Presentation Clip elements and the corresponding Presentation Objecttype are shown in FIG. 18.

PrimaryAudioVideoClip element, SubstituteAudioVideoClip element,SecondaryAudioVideoClip element and SubstituteAudioClip element,AdvancedSubtitleSegment element ApplicationSegment element respectivelydescribe Object Mapping Information of Primary Audio Video, SecondaryAudio Video, Substitute Audio, Advanced Subtitle of Advanced Subtitle ofAdvanced Subtitle Profile markup and Advanced Application of Markup andScript.

Presentation Object shall be referred by the URI of the indexinformation file as described in FIG. 18. The URI shall be described byrules.

Object Mapping Information of a Presentation Object in a Title Timeline,is a valid period of the Presentation Object in a Title Timeline.

The valid period on Title Timeline of a Presentation Object isdetermined by start time and end time on Title Timeline. The start timeand end time on Title Timeline are described by titleTimeBegin attributeand titleTimeEnd attribute of each Presentation Clip element,respectively. For the Presentation Clip except for Advanced Subtitle andApplication, the starting position of the Presentation Object isdescribed by clipTimeBegin attribute of each Presentation Clip element.

For PrimaryAudioVideoClip, SubstituteAudioVideoClip, SubstituteAudioClipand SecondaryAudioVideoClip element, the Presentation Object shall bepresent at the starting position, described by clipTimeBegin.

The clipTimeBegin attribute value shall be the presentation start time(PTS) of Coded-Frame of the video streams in P-EVOB (S-EVOB).

Attribute values of titleTimeBegin, titleTimeEnd and clipTimeBegin, andthe duration time of the Presentation Object shall satisfy the followingrelation:titleTimeBegin<titleTimeEnd andtitleTimeEnd≦duration time of the Title

If the Presentation Object is synchronized with Title Timeline, thefollowing relation shall be satisfied:clipTimeBegin+titleTimeEnd−titleTimeBegin≦duration time of thePresentation Object

The valid period of PrimaryAudioVideoClip element shall not overlap eachother on Title Timeline.

The valid period of SecondaryAudioVideoClip element shall not overlapeach other on Title Timeline.

The valid period of SubstituteAudioClip element shall not overlap eachother on Title Timeline.

The valid period of SubstituteAudioVideoClip element shall not overlapeach other on Title Timeline.

For any of PrimaryAudioVideoClip element and SubstituteAudioVideoClipelement, the valid periods on Title Timeline shall not overlap.

For any of SubstituteAudioVideoClip element, SecondaryAudioVideoClipelement and SubstituteAudioClip element, the valid periods on TitleTimeline shall not overlap.

For any Presentation Clip element with ‘Disc’ dataSource, the validperiods on Title Timeline shall not overlap to those of otherPresentation Clip element with ‘Disc’ dataSource.

More intelligible explanations will be provided below.

The object mapping information OBMAPI described in the playlist PLLSTshown in FIG. 17 describes list information of elements calledpresentation clip elements. FIG. 18 shows the relationship betweenvarious presentation clip elements and corresponding object names to bepresented and used.

As shown in FIG. 18, a primary audio video clip element PRAVCP describedin the object mapping information OBMAPI explains object mappinginformation OBMAPI related with the primary audio video PRMAV. Asecondary audio video clip element SCAVCP explains object mappinginformation OBMAPI of the secondary audio video SCDAV. A substituteaudio clip element SBADCP explains object mapping information OBMAPI ofthe substitute audio SBTAD. An advanced subtitle segment element ADSTSGin the object mapping information OBMAPI describes information relatedwith the markup file MRKUPS in the advanced subtitle ADSBT. Anapplication segment element ADAPSG in the object mapping informationOBMAPI describes information related with the markup file MRKUP andscript file SCRPT of the advanced application ADAPL. The object mappinginformation OBMAPI related with each object to be played back and useddescribes information related with the valid period (including apresentation period or a preparation period and end processing period)of each object on the title timeline TMLE. The valid period on the titletimeline TMLE is specified by the start time and end time on the titletimeline TMLE. In each clip element, the start time and end time on thetitle timeline TMLE are specified by a titleTimeBegin attribute andtitleTimeEnd attribute. That is, each clip element individually recordsthe titleTimeBegin attribute and titleTimeEnd attribute. Presentation ofa corresponding object begins from the time described by thetitleTimeBegin attribute on the title timeline TMLE, and ends at thetime described by the titleTimeEnd attribute. In the primary audio videoclip element PRAVCP, secondary audio video clip element SCAVCP, andsubstitute audio clip element SBADCP except for the advanced subtitlesegment element ADSTSG and application segment element ADAPSG, each ofthe primary audio video PRMAV, secondary audio video SCDAV, andsubstitute audio SBTAD begins to be presented by clipTimeBegin whichmeans an presentation elapsed time period calculated from a startposition where each object is recorded. That is, the aforementionedtitleTimeBegin attribute and titleTimeEnd attribute mean timeinformation on the title timeline TMLE. On the other hand, clipTimeBeginmeans an independent time elapse in each object. By synchronizing thetimes of the titleTimeBegin attribute and clipTimeBegin, a plurality ofdifferent objects can be synchronously presented on the same titletimeline TMLE.

Note that various objects to be played back and used are not recorded inthe information storage medium (DISC) but only the playlist (PLLST) isrecorded in the information storage medium (DISC). The informationplayback apparatus may designate and acquire from the correspondingplaylist (PLLST) various objects to be played back and used recorded inthe network server (NTSRV) or persistent storage (PRSTR).

In this embodiment, the following relationship is set among thepresentation period of each presentation object, and titleTimeBegin,titleTimeEnd, and clipTimeBegin to improve the precision of thepresentation processing without producing any conflict amongpresentation timings.titleTimeBegin<titleTimeEnd andtitleTimeEnd<duration time of the TitleclipTimeBegin+titleTimeEnd−titleTimeBegin≦duration time of thePresentation Object

Furthermore, in this embodiment, the presentation precision is improvedby setting the following conditions.

-   -   The valid periods of respective primary audio video clip        elements PRAVCP shall not overlap on the title timeline TMLE.    -   The valid periods of respective secondary audio video clip        elements SCAVCP shall not overlap on the title timeline TMLE.    -   The valid periods of respective substitute audio clip elements        SBADCP shall not overlap on the title timeline TMLE.    -   The valid period of the secondary audio video clip element        SCAVCP shall not overlap that of the substitute audio clip        element SBADCP on the title timeline TMLE.

As shown in FIGS. 12, 13A and 13B, the time map file PTMAP of theprimary video set PRMVS, the time map file STMAP of the secondary videoset SCDVS, the manifest file MNFST, and the manifest file MNFSTS of theadvanced subtitle ADSBT are referred to from the playlist PLLST.

More specifically, as shown in FIG. 18, the primary audio video clipelement PRAVCP describes the filename and saving location of the timemap file PTMAP of the primary video set PRMVS as the filename to bereferred to in the primary audio video clip element PRAVCP. Likewise,the second audio video clip element SCAVCP describes the filename andsaving location of the time map file STMAP of the secondary video setSCDVS. Furthermore, the substitute audio clip element SBADCP describesthe filename and saving location of the time map file STMAP of thesecondary video set SCDVS. The advanced subtitle segment element ADSTSGdescribes the filename and saving location of the manifest file MNFSTSof the advanced subtitle ADSBT. The application segment element ADAPSGdescribes the filename and saving location of the manifest file MNFST ofthe advanced application ADAPL.

The locations of files to be referred to as indices upon playing backand using objects shown in FIG. 18 are described in FIG. 10. Forreconfirmation, they are described in the column of the original datasources of objects in FIG. 18.

The files which are described in respective clip elements and arereferred to as indices upon playing back and using objects can berecorded in various recording media (including the network serverNTSRV), as shown in FIG. 18. FIG. 19 shows the saving locationdesignation method of the files described in respective clip elements.More specifically, when files are saved in the network server NTSRV, theaddress of an HTTP server or HTTPS server is designated by “http: . . .” or “https: . . . ”, as shown in FIG. 19. In this embodiment, thedescription range of file saving location designation information (URI:Uniform Resource Identifier) described in each clip element shall bedescribed using 1024 bytes or less. When such information is recorded inthe information storage medium DISC, file cache FLCCH (data cacheDTCCH), or persistent storage PRSTR, the file saving location isdesignated as a data file.

When each file is saved in the information storage medium DISC, filecache FLCCH (data cache DTCCH), or persistent storage PRSTR shown inFIG. 19, each medium shall be identified. In this embodiment, eachmedium can be identified by adopting a path designation descriptionmethod shown in FIG. 20 in respective clip elements. This point is alarge technical feature in this embodiment.

<Content Referencing>

Every resource available on the disc or the network has an address thatencoded by a Uniform Resource Identifier.

The following is a URI example which refers to a XML file on a Disc.file:///dvddisk/ADV_OBJ/file.xmu

The total length of URI shall be less than 1024.

By the ‘file’ URI scheme, URI can refer to the resources on DVD Disccontents, File Cache, and Persistent Storages. There is two type ofPersistent Storage. One is Required Persistent Storage, which all Playershall have only one. The other is Additional Persistent Storage, whichPlayer can have one or more. The path of URI includes storage type andidentifier for Persistent Storage in the following manner.

All Advanced Navigation files (Manifest/Markup/Script) and AdvancedElement files shall be loaded into File Cache by Resource Informationelement in Playlist, or API. All files loaded by Resource Informationelement shall be referred by URI of the original file location, notlocation in the File Cache.

Files in archived file shall be referred by sub path of URI of archivedfile. At this time URI of archived file shall be referred by originallocation, not location in file cache.

The path ‘file:///file cache/’ is resolved as/temp directory in FileCache. For file cache, only application managed directory may beaccessed.

Playlist, Manifest and Markup may use relative URI reference. The baseURI shall be derived from the URI of the original file location, if xml:base attribute is not specified. If xml: base attribute is specified,base URI is determined by rule.

The path-segment “. .” shall not used in URI.

More intelligible explanations will be provided below.

In this embodiment, two different recording media are brought into viewas the persistent storage PRSTR. The first one is the fixed persistentstorage PRSTR, and specifies only one persistent storage drive 3 in theinformation recording and playback apparatus 1 in this embodiment. Theother one is the portable persistent storage PRSTR, and one or morestorages (a plurality of storages are allowed) can be mounted in theinformation recording and playback apparatus 1 in this embodiment. Inthe path designation description to a file, the description method shownin FIG. 20 is specified, and the contents are described in each clipelement in the playlist PLLST. That is, when a file is recorded in theinformation storage medium DISC, “file:///dvddisc/” is described. When afile is stored in the file cache FLCCH (data cache DTCCH),“file:///filecache/” is described as the path designation descriptionmethod. When a file is recorded in the fixed persistent storage PRSTR,“file:///fixed/” is described as the path designation descriptionmethod. When a file is recorded in the portable persistent storagePRSTR, “file:///removable/” is described as the path designationdescription method. When various files are recorded in the informationstorage medium DISC, file cache FLCCH (data cache DTCCH), or persistentstorage PRSTR, the file structure shown in FIG. 11 is formed in eachrecording medium, and files are recorded under correspondingdirectories.

<Playlist File>

Playlist File describes the navigation, the synchronization and theinitial system configuration information for Advanced Content. PlaylistFile shall be encoded as well-formed XML. FIG. 21 shows an outlineexample of Playlist file. The root element of Playlist shall be Playlistelement, which contains Configuration element, Media Attribute Listelement and Title Set element in a content of Playlist element.

More intelligible explanations will be provided below.

FIG. 21 shows the data structure in the playlist file PLLST that recordsinformation related with the playlist PLLST shown in FIG. 17. Thisplaylist file PLLST is directly recorded in the form of the playlistfile PLLST under the advanced content directory ADVCT, as shown in FIG.11. The playlist file PLLST describes management information,synchronization information among respective presentation objects, andinformation related with the initial system structure (e.g., informationrelated with pre-assignment of a memory space used in the data cacheDTCCH or the like). The playlist file PLLST is described by adescription method based on XML. FIG. 21 shows a schematic datastructure in the playlist file PLLST.

A field bounded by <Playlist[playlist] . . . >and </Playlist>is called aplaylist element in FIG. 21. As information in the playlist element,configuration information CONFGI, media attribute information MDATRI,and title information TTINFO are described in this order. In thisembodiment, the allocation order of various elements in the playlistelement is set in correspondence with the operation sequence before thebeginning of video presentation in the advanced content playback unitADVPL in the information recording and playback apparatus 1 shown inFIG. 1. That is, the assignment of the memory space used in the datacache DTCCH in the advanced content playback unit ADVPL shown in FIG. 14is most necessary in the process of playback preparation. For thisreason, a configuration information CONFGI element 134 is describedfirst in the playlist element. The presentation engine PRSEN in FIG. 14shall be prepared in accordance with the attributes of information inrespective presentation objects. For this purpose, a media attributeinformation MDATRI element 135 shall be described after theconfiguration information CONFGI element 134 and before a titleinformation TTINFO element 136. In this manner, after the data cacheDTCCH and presentation engine PRSEN have been prepared, the advancedcontent playback unit ADVPL starts presentation processing according tothe information described in the title information TTINFO element 136.Therefore, the title information TTINFO element 136 is allocated afterthe information required for preparations (at the last position).

A description 131 of the first line in FIG. 21 is definition text thatdeclares “the following sentences are described based on the XMLdescription method”, and has a structure in which information of xmlattribute information XMATRI is described between “<?xml” and “?>”.

FIG. 22 shows the information contents in the xml attribute informationXMATRI in (a).

The xml attribute information XMATRI describes information indicatingwhether or not another XML having a child relationship withcorresponding version information of XML is referred to. Informationindicating whether or not the other XML having the child relationship isreferred to is described using “yes” or “no”. If the other XML havingthe child relationship is directly referred to in this target text, “no”is described; if this XML text does not directly refer to the other XMLand is present as standalone XML, “yes” is described. As an XMLstatement, for example, when the corresponding version number of XML is1.0, and XML text does not refer to the other XML but is present asstandalone XML, “<?xml version=‘1.0’ standalone=‘yes’?>” is described asa description example (a) of FIG. 22.

Description text in a playlist element tag that specifies the range of aplaylist element describes name space definition information PLTGNM ofthe playlist tag and playlist attribute information PLATRI after“<Playlist”, and closes with “>”, thus forming the playlist element tag.FIG. 22 shows description information in the playlist element tag in(b). In this embodiment, the number of playlist elements which exit inthe playlist file PLLST is one in principle. However, in a special case,a plurality of playlist elements can be described. In such case, since aplurality of playlist element tags may be described in the playlist filePLLST, the name space definition information PLTGNM of the playlist tagis described immediately after “<Playlist” so as to identify eachplaylist element. The playlist attribute information PLATRI describes aninteger part value MJVERN of the advanced content version number, adecimal part value MNVERN of the advanced content version numberinformation, and additional information (e.g., a name or the like)PLDSCI related with the playlist in the playlist element in this order.For example, as a description example, when the advanced content versionnumber is “1.0”, “1” is set in the integer part value MJVERN of theadvanced content version number, and “0” is set in the decimal partvalue MNVERN of the advanced content version number. If the additionalinformation related with the playlist PLLST is “string”, and the namespace definition information PLTGNM of the playlist tag is“http://www.dvdforum.org/HDDVDVideo/Playlist”, the description text inthe playlist element is:   “<Playlist xmlns =‘http://www.dvdforum.org/HDDVDVideo/Playlist’ majorVersion= ‘1’minorVersion = ‘0’ description = string>”

The advanced content playback unit ADVPL in the information recordingand playback apparatus 1 shown in FIG. 1 plays back the advanced contentversion number described in the playlist element tag first, anddetermines if the advanced content version number falls within theversion number range supported by it.

If the advanced content version number falls outside the support range,the advanced content playback unit ADVPL shall immediately stop theplayback processing. For this purpose, in this embodiment, the playlistattribute information PLATRI describes the information of the advancedcontent version number at the foremost position.

Various kinds of information described in the playlist PLLST in thisembodiment have a hierarchical structure, as shown in FIGS. 23A and 23B,and FIGS. 24A and 24B.

<Title Information>

A Playlist file contains a list of Title elements in the Title Setelement. The Title Set element describes information of a set of Titlesfor Advanced Contents in the Playlist.

Title Timeline is assigned for each Title. The duration of TitleTimeline shall be described by title Duration attribute of Title elementby the time Expression value. The duration of Title Timeline shall begreater than ‘00:00:00:00’.

Note: To describe Title which contains only Advanced Application, setduration to some value such as ‘00:01:00:00’, and pause the time on TideTimeline at the beginning of Title.

The total number of Title shall be less than 1000.

Each Title element describes a set of information of a Title forAdvanced Content.

More intelligible explanations will be provided below.

In information recorded in the aforementioned playlist file PLLST, thetitle information TTINFO included in the playlist element is describedusing a title set element bounded by <TitleSet> and </TitleSet>, asshown in (b) of FIG. 23A. This title set element describes informationrelated with a title set of the advanced content ADVCT defined in theplaylist PLLST. As title set attribute information TTSTAT written in thetitle set element tag, there are frame rate (the number of frames persecond) information FRAMRT (timeBase attribute information), frequencyinformation TKBASE (tickBase attribute information) of a tick clock usedin a markup page, menu language information DEFLNG (defaultLanguageattribute information) in a default state in a title set, as shown in(d) of FIG. 23B.

<Datatypes (data types) and TitleSet (title set) element>

-   -   Datatypes

The additional data type of attribute value is defined.

1) timeExpression

Describe Timecode of a non-drop frame count described by the followingformat: timeExpression := HH ‘:’ MM ‘:’ SS ‘:’ FF HH := [0-2] [0-9](HH =00-23) MM := [0-5] [0-9] SS := [0-5] [0-9] FF := [0-5] [0-9]  (FF =00-49 for frame rate = 50 fps FF = 00-59 for frame rate = 60 fps)

The frame rate is the value described by timeBase attribute of Titleelement.

The non-drop frame count is calculated by:non-drop frame count:=(3600×HH+60×MM+SS)×frame rate+FF.

2) frameRate

Describes the frame rate value. The frameRate data type follows thefollowing BNF syntax: frameRate := rateValue ‘fps’ rateValue := ‘50’ |‘60’

A value of rateValue describes the frame rate.

3) tickRate

Describes the tick rate value. The tickRate data type follows thefollowing BNF syntax: tickRate := tickValue ‘fps’ tickValue := ‘24’ |‘50’ | ‘60’

A value of tickvalue describes the tick rate value in frame rate. Thevalue shall be ‘50’, or ‘24’ if the frame rate is ‘50’. The value shallbe ‘60’, or ‘24’ if the frame rate is ‘60’.

4) langCode

Describes the specific code and the specific code extension for theAudio stream and for the Subtitle stream this Substitute Subtitle. Thelanguage code attribute value follows the following BNF scheme. Thespecificcode and specificCodeExt describes specific code and specificcode extension, respectively. The specificCode value ‘*’ describes ‘NotSpecified’. langCode := specificCode ‘:’ specificCodeExtensionspecificCode := [a-z] [a-z] | ‘*’ specificCodeExt := [0-9A-F] [0-9A-F]

5) anyURI

Describes the content reference in the URI following rules.

6) parentalList

Describes the list of parental level for each country code. TheparentalList data type follows the following BNF syntax: parentalList :=parental ( #x20 parental)* parental :=  (countryCode | ‘*’) ‘:’parentalLevel country Code := [A-z] [A-Z] parental Level := [1-8]

The parentalList is space delimited list of parental data, whichdescribes the minimum parental level to playback the title for thespecified country code. The parentalLevel and the countrycode describethe minimum parental level and country code, respectively. The ‘*’ meansNot Specified country code. If ‘*’ is used for countrycode, the parentaldata describes the minimum parental level for unspecified country code.The countrycode shall be Alpha-2 code defined in ISO-3166. Thecountrycode and ‘*’ shall be unique in a parentalList value.

-   -   TitleSet element

The TitleSet element describes information of a set of Titles forAdvanced Contents in the Playlist.

XML Syntax Representation of TitleSet element: <TitleSet timeBase =frameRate tickBase = tickRate defaultLanguage = language >  FirstPlayTitle ?   Title +   PlaylistApplication * </TitleSet>

The TitleSet element consists of a list of Title element, FirstPlayTitleelement and a list of PlaylistApplication element. According to thedocument order of Title element, the Title number for AdvancedNavigation shall be assigned continuously from ‘1’. A Title elementdescribes information of each Title.

(a) timeBase attribute

Describes the frame rate value. The frame rate value determines theframe rate for timeExpression in the Title.

(b) tickBase attribute

Describes the tick clock frequency used in Markup. This value can beomitted. If the value is omitted, tick clock frequency is frame ratevalue.

(c) defaultLanguage attribute

Describes the default menu language of the TitleSet. The attribute valueconsists of two-letter lowercase symbols defined in ISO-639. If there isno Application Segment in a Title matching to the Menu Language setting,the Application Segment with language of defaultLanguage shall beactivated. This attribute can be omitted.

More intelligible explanations will be provided below.

A set of titles concerning advanced contents ADVCT in the playlist PLLSTis written in the title set element. Each title number is set inaccordance with an arrangement order of title element information TTELEMwritten in the title set element. That is, a title number of a titlemanaged based on the title element information TTELEM which is writtenfirst in the title set element is 1, and a continuous number issequentially set as a title number of a title managed based on eachtitle element information TTELEM.

The frameRate (the number of frames per second) FRAMRT (timeBaseattribute information) shown in (d) of FIG. 23B represents a frame ratevalue. Time management in each title is carried out based on a countvalue (a value of FF in “HH:MM:SS:FF”) on a title timeline TMLE. A 50 Hzsystem or a 60 Hz system is set as a count frequency of a title timelineTMLE at this time based on a value of the frame rate information FRAMRT(timeBase attribute information). The frameRate is represented as a ratevalue in units of “fps” (frames per sec), and a value of “50” or “60” isselectively set as the rate value. A description will now be given as totick clock frequency information TKBASE (tickBase attribute information)used in a markup page. A frequency of a page clock set in accordancewith each markup page MRKUP and a frequency of an application clock setin accordance with each advanced application ADAPL match with the tickclock frequency TKBASE. Moreover, the tick clock frequency TKBASE can beset independently from a frequency of a media clock on a title timelineTMLE. A clock of frame rate (the number of frames per second)information FRAMRT (timeBase attribute information) representing areference frequency of the title timeline TMLE for each title isreferred to as a media clock. Additionally, this embodiment ischaracterized in that a page clock as a clock set in accordance witheach markup page MRKUP and an application clock set in accordance witheach application can be set independently from the media clock. As aresult, there can be obtained an effect that FF, FR and pause playbackcan be performed on a title timeline TMLE while playing back an advancedapplication ADAPL at a standard speed. Further, there is also obtainedan effect that greatly delaying TickBase/TKBASE with respect totimeBase/FRAMRT can alleviate a burden on an advanced playback unitADVPL. The tick clock frequency information TKBASE (tickBase attributeinformation) is represented as a tickvalue in units of “fps”, and one ofvalues “24”, “50” and “60” is set as the tickvalue. If a value of theframe rate (the number of frames per second) information FRAMRT(timeBase attribute information) is “50”, a value of “50” or “24” is setas a value of the tick clock frequency information TKBASE (tickBaseattribute information). If a value of the frame rate (the number offrames per second) information FRAMRT (timeBase attribute information)is “60”, a value of “60” or “24” is set as a value of the tick clockfrequency information TKBASE (tickBase attribute information). When avalue of the tick clock frequency information TKBASE (tickBase attributeinformation) is set to a value obtained by a dividing a value of theframe rate (the number of frames per second) information FRAMRT(timeBase attribute information) by an integer in this manner, clocksettings between the tick clock and the media clock can be facilitated(for example, dividing a frequency of the media clock can readilygenerate the tick clock). The description of the tick clock frequencyinformation TKBASE (tickBase attribute information) can be eliminated inthe title set attribute information TTSTAT. In this case, the tick clockfrequency matches with the frame rate value. This embodiment ischaracterized in that timeBase/FRAMRT and tickBase/TKBASE are set in thetitle set element. As a result, sharing these values in the same titleset can simplify processing in the advanced content playback unit ADVPL.

A description will now be given as to menu language information DEFLNG(defaultLanguage attribute information) in a default state in theTitleSet. As shown in FIG. 47, a menu language is set as a profileparameter. When there is no application segment APPLSG (see (d) in FIG.56B) in a title matching with the menu language, an application segmentAPPLSG corresponding to a language set based on the menu languageinformation DEFLNG (defaultLanguage attribute information) in a defaultstate in the TitleSet can be executed/displayed. The description of themenu language information DEFLNG (defaultLanguage attribute information)in a default state in the TitleSet can be eliminated in title setattribute information TTSTAT.

<Title Information> (Again)

FirstPlaytitle element information FPTELE can be written first in thetitle set element, one or more sets of title element information TTELEMcan be sequentially written, and management information concerning eachtitle is recorded in each corresponding title element informationTTELEM. The example of FIG. 17 has three titles, i.e., titles #1 to #3,and (b) of FIG. 23A describes title element information TTELEM relatedwith title #1 to that related with title #3. However, this embodiment isnot limited to such example, and title element information TTELEMrelated with one to an arbitrary number of titles can be described.Further, playlist application element information PLAELE can be writtenafter the title element information TTELEM in the title set element. Atitle timeline TMLE is set to each title corresponding to the titleelement information TTELEM. The presentation period of the titletimeline TMLE of each title is described in titleDuration attributeinformation (time duration information TTDUR of the entire title on thetitle timeline TMLE) in the title element information TTELEM. Thenumbers of corresponding titles are set in accordance with the order ofdescription of respective pieces of title element information TTELEMdescribed in the title set element. As shown in (b) of FIG. 23A, thetitle number of a title corresponding to the title element informationTTELEM described first in the title set element is set to “1”. In thisembodiment, the number of pieces of title element information TTELEM(the number of titles defined per playlist PLLST) that can be describedin the title set element is set to be 512 or less. By setting the upperlimit value of the number of titles, the processing in the advancedcontent playback unit ADVPL is prevented from diffusing. Each titleelement information TTELEM describes object mapping information OBMAPI,resource information RESRCI, playback sequence information PLSQI, andtrack navigation information TRNAVI in this order. The object mappinginformation OBMAPI includes information of track number assignmentinformation that sets stream (track) numbers in respective presentationobjects. The object mapping information describes a list of various clipelements described using FIGS. 24A and 24B. Also, the object mappinginformation OBMAPI describes a list related with track number assignmentinformation which represents the setting information of track numbers inthe aforementioned presentation clip elements. In this embodiment, eachplayback object such as video information, audio information,sub-picture information, or the like can have a plurality of streams,independent tracks are related with these streams, and track numbers areset, thus identifying playback streams in each presentation object. Bysetting the track number assignment element list in this way, the numberof streams included in each presentation object and individual streamscan be identified. The resource information RESRCI explains a list ofresource elements in the title element information TTELEM. The tracknavigation information TRNAVI describes information related with a tracknavigation list element. The playback sequence information PLSQIdescribes information of a chapter list element indicating the headpositions of chapters corresponding to divisions of the video contentsin a single title.

As shown in (c) of FIG. 23A, the arrangement order of the object mappinginformation OBMAPI, resource information RESRCI, playback sequenceinformation PLSQI, and track navigation information TRNAVI in the titleelement information TTELEM corresponds to the processing sequence of theadvanced content playback unit ADVPL in the information recording andplayback apparatus 1 (see FIG. 1). That is, information of the objectmapping information OBMAPI which describes the information of theadvanced application ADAPL and advanced subtitle ADSBT used in a singletitle is described at the first location in the title elementinformation TTELEM. The advanced content playback unit ADVPL recognizesthe contents of the advanced application ADAPL and advanced subtitleADSBT used in the single title first from the object mapping informationOBMAPI recorded first. As has been described using FIG. 10, theinformation of the advanced application ADAPL and advanced subtitleADSBT shall be saved in the file cache FLCCH (data cache DTCCH) inadvance prior to presentation to the user. For this reason, the advancedcontent playback unit ADVPL in the information recording and playbackapparatus 1 requires information related with the advanced applicationADAPL and advanced subtitle ADSBT set in the title and their storagetimings in the file cache FLCCH (data cache DTCCH) prior to playback.The advanced content playback unit ADVPL then reads the resourceinformation RESRCI, and can detect the storage timings of the advancedapplication ADAPL and advanced subtitle ADSBT in the file cache FLCCH(data cache DTCCH). Therefore, since the resource information RESRCI isdescribed after the object mapping information OBMAPI, the processing ofthe advanced content playback unit ADVPL is facilitated. Since theplayback sequence information PLSQI becomes important to allow the userto immediately move video information that he or she wants to see uponplaying back the advanced content ADVCT, the playback sequenceinformation PLSQI is allocated after the resource information RESRCI.Since the track navigation information TRNAVI is information requiredimmediately before presentation to the user, it is described at the lastlocation in the title element information TTELEM.

By describing the title ID information TTIDI at the first position inthe title element tag in the title element information TTELEM as shownin FIG. 23A(c),

1) a plurality of pieces of title element information TTELEM can bedescribed in the title information TTINFO (respective pieces of titleelement information TTELEM can be set as playback management informationfor different titles), and

2) each title ID information TTIDI in the title information TTINFO canbe immediately identified by interpreting contents of the title IDinformation TTIDI described at the first position in the title elementtag, and content determination processing in the playlist PLLST can bespeeded up.

Furthermore, in this embodiment, respective pieces of information whichhave related description contents in the title element informationTTELEM are grouped together and are described at near positions. Asgroup names, object mapping information OBMAPI, resource informationRESRCI, playback sequence information PLSQI, and track navigationinformation TRNAVI are assigned. As a result, content interpretationprocessing of the playlist PLLST in the playlist manager PLMNG can besimplified and speeded up.

<Title Element>

The Title element describes information of a Title for AdvancedContents, which consists of Object Mapping Information, Track NumberAssignment for elementary stream and Playback Sequence in a Title.

The content of Title element consists of Chapter List element, TrackNavigation List element, Title Resource element and list of PresentationClip element. Presentation Clip elements are Primary Audio Video Clip,Substitute Audio Video Clip, Substitute Audio Clip, Secondary AudioVideo Clip, Advanced Subtitle Segment and Application Segment.

Presentation Clip elements in Title element describe the Object MappingInformation in the Title.

Presentation Clip elements also describe Track Number Assignment forelementary stream.

Chapter List element describes the information of Playback Sequence inthe Title.

Track Navigation List element describes the information of TrackNavigation Information in the Title.

Title Resource element describes the information of Resource Informationpar Title.

(a) titleNumber attribute

Describes the number of Title. The Title number shall follow theconstraints.

(b) typeattribute

Describes type of Title. If the content is Interoperable Content andTitle is Original Title, the value shall be ‘Original’. If the contentis Interoperable Content and Title is User Defined Title, the valueshall be ‘User Defined’. Otherwise it shall be omitted, or ‘Advanced’.The value may be omitted. The default value is ‘Advanced’.

(c) selectable attribute

Describes whether the Title can be selectable by User Operation, or not.If the value is “false”, the title shall not be navigated by UserOperation. The value may be omitted. The default value is “true”.

(d) titleDuration attribute

Describes the duration of the Title Timeline. The attribute value shallbe described by time Expression.

The end time of all Presentation Object shall be less than the durationtime of Title Timeline.

(e) parentalLevel attribute

Describes the list of parental level for each country code. Theattribute value shall be described by parental List value. Thisattribute can be omitted. Default value is ‘*:1.

(f) tickBaseDivisor attribute

Describes the reducing rate of the Application Ticks to process inAdvanced Application Manager. For example, if tick Base Divisor value is3, Advanced Application Manager shall process one of the threeApplication Ticks, and ignore the rest of them.

(g) onEnd attribute

Describes the id attribute value of Title element describing Title to beplayed after end of current Title. This value can be omitted. If thisvalue is omitted, player shall be stopped after Title playback.

(h) displayName attribute

Describes the name of Title in the human consumable text form. Playermay display this name as title name. This attribute can be omitted.

alternative SD Display Mode attribute

Describes the permitted display modes on 4:3 monitor in this Titleplayback. ‘pan scan Or Letter box’ allows both Pan-scan and Letterbox,‘pan scan’ allows only Pan-scan, and ‘letterbox’ allows only Letterboxfor 4:3 monitor. Player shall output into 4:3 monitor forcedly inallowed display modes. This attribute can be omitted. The default valueis ‘pan scan Or Letter box’.

(j) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

(k) xml:base attribute

Describes the base URI in this element. The semantics of xml:base shallfollow to XML Base.

More intelligible explanations will be provided below.

FIGS. 24A and 24B show information described in the title element tagthat represents the start of each title element information TTELEM inthis embodiment. The title element tag describes ID information TTIDI ofa title used to identify each title first. Next, title numberinformation TTNUM is described. In this embodiment, a plurality of titleelement information TTELEM can be described in the title informationTTINFO as shown in FIG. 24A (b). The title number is set in descriptionorder and is recorded in the title number information TTNUM, whereas thetitle element information TTELEM is described at first position in thetitle information TTINFO. Furthermore, with respect to the type (kind)of the title managed in the title element information TTELEM, the titletype information is described. In this embodiment, as the title typeinformation TTTYPE, three types of values of type information:“Advanced”, “Original”, and “UserDefined” can be set. In thisembodiment, video information recorded in the advanced video recordingformat which enables recording, editing, and playback by a user can beutilized as part of the advanced content ADVCT. The video informationrecorded in the advanced video recording format is referred to asinteroperable content. The title type information TTTYPE for an originaltitle (the interoperable content in a time immediately after therecording and before the editing) with respect to the interoperablecontent is set to “Original”. On the other hand, the title typeinformation TTTYPE for a title in a time after a user has edited (i.e.,defined by the user) with respect to the interoperable content, thetitle type information TTTYPE is set to “UserDefined”. For otheradvanced contents ADVCT, the title type information TTTYPE is set to“Advanced”. In this embodiment, description of the title typeinformation TTTYPE in the title attribute information TTATRI can beomitted. In this case, the value of “Advanced” as a default isautomatically set. Next, selectable attribute information is described.This selectable attribute information indicates selection information asto whether or not the designated title can be operated in response touser operations. For example, in case of the system shown in FIG. 1, theuser may oppose the wide-screen TV monitor 15 and may perform screenoperations (e.g., fast-forwarding FF or first-rewinding FR) using aremote controller (not shown). Processing designated by the user in thisway is called a user operation, and the selectable attribute informationindicates whether or not the title is processed in response to useroperations. In this information, a word of either “true” or “false” isdescribed. For example, when the video contents of the correspondingtitle, i.e., the commercial 44 and preview 41 are not allowed to befast-forwarded by the user, the entire corresponding title may be set toinhibit user operations. In such case, the selectable attributeinformation is set to “false” to inhibit user operations with respect tothe corresponding title, thus rejecting requests such asfast-forwarding, fast-rewinding, and the like by the user. When thisvalue is “true”, user operations are supported, and processing (useroperations) such as fast-forwarding, fast-rewinding, and the like can beexecuted in response to user's requests. In this embodiment, the defaultvalue of the selectable attribute information is set to “true”. Thetitle playback processing method of the advanced content playback unitADVPL (see FIG. 1) largely changes depending on the selectable attributeinformation. Therefore, by allocating the selectable attributeinformation at a position immediately after the title ID informationTTIDI and after other kinds of information, the convenience of theprocessing of the advanced content playback unit ADVPL can be improved.In this embodiment, a description of the selectable attributeinformation can be omitted in the title element tag. When thedescription of this information is omitted, it is set as a default value“true”.

The frame rate information (timebase attribute information) in the titleset element, shown in FIG. 23B(d), represents the number of frames persec of video information to be presented on the screen, and correspondsto a reference time interval of the title timeline TMLE. As has beendescribed using FIG. 17, in this embodiment, two systems, i.e., the50-Hz system (50 counts are counted up per sec on the title timelineTMLE) and 60-Hz system (60 counts are counted up per sec on the titletimeline TMLE) can be set as the title timeline TMLE. For example, incase of NTSC interlaced display, 30 frames (60 fields) are displayed persec. This case corresponds to 60-Hz system, and a unit interval (timeinterval of one count of the title timeline is set to 1/60 sec. In thisembodiment, the clock according to a title timeline TMLE is referred toas a media clock, which is differently identified from a page clock asthe clock set for each markup MRKUP. Furthermore, in this embodiment,there is an application clock which is defined in execution of theadvanced application ADAPL specified in the markup MRKUP. The page clockand the application clock have the same reference frequency. Thisfrequency is referred to a frequency of a tick clock. The media clockaccording to the title timeline TMLE and the tick clock can beindependently set. This point is a large technical feature in thisembodiment. As a result, for example, animation defined by the advancedapplication ADAPL can be played back with the tick clock (applicationclock) at a standard speed during high-speed playback/rewind playback ofvideo information of the primary audio video PRMAV, and the expressionfor a user can be greatly improved. The frequency information TKBASE forthe tick clock used in the markup MRKUP is described after “tickBase=”as shown in FIG. 23B(d). The value of the frequency information TKBASEfor the tick clock used in the markup MRKUP must be set as a value lessthan the value described as the information of the frame rate (a numberof frames per second). As a result, execution of the advancedapplication (display of the animation or the like) with tick clock canbe smoothly performed according to the title timeline TMLE (avoidinginconsistency with the media clock), and the circuit structure withinthe advanced content playback unit ADVPL can be simplified. ThetimeBaseDivisor attribute information shown in (b) in FIG. 24A isindicative of a damping ratio TICKBD with respect to an application tickclock of a processing clock in the advanced application manager. Thatis, the information means a damping ratio with respect to theapplication tick (tick clock frequency information TKBASE) when theadvanced application manager ADAMNG shown in FIG. 28 executesprocessing. For example, when a value of the timeBaseDivisor attributeinformation is set to “3”, processing of the advanced applicationmanager ADAMNG advances one step every time a clock of the applicationtick (an application clock) is incremented by 3 counts. When theprocessing clock of the advanced application manager ADAMNG is delayedto be behind the tick clock (the application clock) in this manner, theprocessing can be executed without applying a CPU power to the advancedapplication ADAPL which operates at a low speed, thereby suppressing acalorific value in the advanced content playback unit ADVPL.

Time duration information TTDUR of the entire title on the titletimeline TMLE represents the duration of the entire title timeline TMLEon the corresponding title. The time duration information TTDUR of theentire title on the title timeline TMLE is described using the totalnumber of counts of the 50-Hz system or 60-Hz system corresponding tothe frame rate (number of frames per sec) information. For example, whenthe presentation time of the corresponding entire title is n sec, avalue “60n” or “50n” is set in the total number of counts as the timeduration information TTDUR of the entire title on the title timelineTMLE. In this embodiment, the end times of all playback objects shall besmaller than the time duration information TTDUR of the entire title onthe title timeline TMLE. In this manner, since the time durationinformation TTDUR of the entire title on the title timeline TMLE dependson the time unit interval on the title timeline TMLE, it is allocatedbehind the frame rate information, thus assuring easy data processing ofthe advanced content playback unit ADVPL.

Next parental level information indicates a parental level of thecorresponding title to be played back.

A numeral equal to or smaller than 8 is entered as the parental levelvalue. In this embodiment, this information may be omitted in the titleelement tag. A default value of this information is set to “1”.

Information “onEnd” that represents the number information of a title tobe presented after completion of the current title describes informationof the title number related with the next title to be played back aftercompletion of the current title. When a value set in the title number is“0”, the window is kept paused (to present the end window) aftercompletion of the title. A default value of this information is set to“0”. A description of this information can be omitted in the titleelement tag, and in such case, that information is set to “0” as adefault value.

Title name information “displayName” to be displayed by the informationrecording and playback apparatus 1 describes the name of thecorresponding title in a text format. Information described in thisinformation can be displayed as the title name of the informationrecording and playback apparatus 1. Also, this information can beomitted in the title element tag.

The alternativeSDDisplayMode attribute information indicative of alloweddisplay mode information SDDISP in a 4:3 TV monitor represents a displaymode which is allowed when outputting data to the 4:3 TV monitor whenplaying back a corresponding title. When the value is set to“panscanOrLetterbox”, outputting data in either a pan-scan mode and aletter box mode is allowed at the time of outputting data to the 4:3 TVmonitor. Further, when the value is set to “panscan”, outputting data inthe pan-scan mode alone is allowed at the time of outputting data to the4:3 TV monitor. Furthermore, when the value is set to “letterbox”, theletter box display mode alone is allowed at the time of outputting datato the 4:3 TV monitor. When data is output to the 4:3 TV monitor, theinformation recording and playback apparatus 1 must forciblydisplay/output data in an allowed display mode. Although the descriptionof the allowed display mode information SDDISP in the 4:3 TV monitor canbe eliminated, “panscanOrLetterbox” as a default value is automaticallyset in such a case.

Furthermore, the column of additional information (description) relatedwith a title describes additional information related with the title ina text format. A description of this information can be omitted in thetitle element tag. The title name information (displayName) to bedisplayed by the information recording and playback apparatus 1 andadditional information (description) related with the title are notessential upon executing the playback processing of the advanced contentplayback unit ADVPL. Therefore, these pieces of information are recordedat the last location in title attribute information TTATRI. Finally, thefile storage position URI description format XMBASE corresponding to thetitle element indicates a description format (XML_BASE) for a URI(uniform resource identifier) complying to XML.

As a practical information example of the title element tag, forexample, when the identification ID information of a title is “Ando” andthe time duration of the entire title in the 60-Hz system is 80000, adescription example is:<Title=‘Ando’titleDuration=‘80000’>

In the 60-Hz system, since the number of counts of the title timelineTMLE is counted up by 60 per sec, the value “80000” amounts to 22 min(≈80000÷60÷60).

Information in the title element information TTELEM includes the objectmapping information OBMAPI that describes a presentation clip elementlist, the resource information RESRCI that records a title resourceelement, the playback sequence information PLSQI that describes achapter list element, and the track navigation information TRNAVI thatdescribes a track list navigation list element, as shown in (c) of FIG.23A. The presentation clip elements describe the primary audio videoclip PRAVCP, substitute audio video clip SBAVCP, substitute audio clipSBADCP, secondary audio video clip SCAVCP, advanced subtitle segmentADSTSG, and application segment ADAPSG, as shown in (c) of FIG. 24B. Thepresentation clip elements are described in the object mappinginformation OBMAPI in each title. The presentation clip elements aredescribed as a part of track number assignment information incorrespondence with each elementary stream.

The playback sequence information PLSQI is described as a list ofchapter list elements, as shown in (d) of FIG. 24B.

<Chapter elements and Playback Sequence Information>

Title element in Playlist file contains a list of Chapter elements in aChapter List element. Chapter List element describes chapter structure,called by Playback Sequence Information.

The Chapter List element consists of a list of Chapter element.According to the document order of Chapter element in Chapter List, theChapter number for Advanced Navigation shall be assigned continuouslyfrom ‘1’.

The total number of chapters in a Title shall be less than 2000.

The total number of chapters in a Playlist shall be less than 100000.

The title Time Begin attribute of Chapter element describes the chapterstart position by the time value on the Title Timeline. Chapter endposition is given as the next chapter start position or the end of theTitle Timeline for the last chapter.

The chapter start position in a Title Timeline shall be monotonicallyincreased according to the chapter number, and be less than or equals tothe duration of Title Timeline. The chapter start position of chapter 1shall be 00:00:00:00.

The following description is an example of Playback Sequence.<ChapterList>  <Chapter titleTimeBegin=“00:00:00:00”/>  <ChaptertitleTimeBegin=“00:01:02:00”/>  <Chapter titleTimeBegin=“00:02:01:03”/> <Chapter titleTimeBegin=“00:04:02:30”/>  <ChaptertitleTimeBegin=“00:05:21:22”/>  <Chapter titleTimeBegin=“00:06:31:23”/></ChapterList>

More intelligible explanations will be provided below.

The chapter list element in the playback sequence information PLSQIdescribes a chapter structure in the title. The chapter list element isdescribed as a list of chapter elements (respective lines starting witha <Chapter titleTimingBegin> tag, as shown in (d) of FIG. 24B). Thenumber of a chapter element described first in the chapter list is setto ‘1’, and the chapter numbers are set in accordance with the order ofdescription of respective chapter elements. The number of chapters inone chapter list (title) is set to be 512 or less, thus preventingdiffusion in the processing of the advanced content playback unit ADVPL.A titleTimingBegin attribute (information described after “<ChaptertitleTimingBegin>=”) in each chapter element represents time information(the number of counts on the title timeline TMLE) indicating the startposition of each chapter on the title timeline.

Time information indicating the start position of each chapter ispresented in the form of “HH:MM:SS:FF” which respectively representhours, minutes, seconds, and the number of frames. The end position ofthis chapter is expressed by the start position of the next chapter. Theend position of the last chapter is interpreted as the last value (countvalue) on the title timeline TMLE. The time information (count value)indicating the start position of each chapter on the title timeline TMLEmust be set to monotonously increase in correspondence with incrementsof chapter number. With this setting, sequential jump access controlaccording to the playback order of chapters is facilitated.

Additional information for each chapter element is described in a textformat to be easy to understand by the users. Also, the additionalinformation for each chapter element can omit a description in a chapterelement tag. Furthermore, immediately after “displayName=”, acorresponding chapter name can be described in a text format that can beeasily understood by the users. The advanced content playback unit ADVPL(see FIG. 1) can present the corresponding chapter name information onthe wide-screen TV monitor 15 as a name of each chapter. Thecorresponding chapter name information can omit a description in thechapter element tag.

FIG. 25 shows the data flow in the advanced content playback unit ADVPLof various playback presentation objects defined in FIG. 10 describedpreviously.

FIG. 14 shows the structure in the advanced content playback unit ADVPLshown in FIG. 1. An information storage medium DISC, persistent storagePRSTR, and network server NTSRV in FIG. 25 respectively match thecorresponding ones in FIG. 14. A streaming buffer STRBUF and file cacheFLCCH in FIG. 25 will be generally called as a data cache DTCCH, whichcorresponds to the data cache DTCCH in FIG. 14. A primary video playerPRMVP, secondary video player SCDVP, main video decoder MVDEC, mainaudio decoder MADEC, sub-picture decoder SPDEC, sub video decoder SVDEC,sub audio decoder SADEC, advanced application presentation engine AAPEN,and advanced subtitle player ASBPL in FIG. 25 are included in thepresentation engine PRSEN in FIG. 14. The navigation manager NVMNG inFIG. 14 manages the flow of various playback presentation object data inthe advanced content playback unit ADVPL, and the data access managerDAMNG in FIG. 14 mediates data between the storage locations of variousadvanced contents ADVCT and the advanced content playback unit ADVPL.

As shown in FIG. 10, upon playing back playback objects, data of theprimary video set PRMVS must be recorded in the information storagemedium DISC.

In this embodiment, the primary video set PRMVS can also handlehigh-resolution video information. Therefore, the data transfer rate ofthe primary video set PRMVS may become very high. When direct playbackfrom the network server NTSRV is attempted, or when the data transferrate on a network line temporarily drops, continuous video expression tothe user may be interrupted. As shown in FIG. 43, various informationstorage media such as an SD card SDCD, USB memory USBM, USBHDD, NAS, andthe like are assumed as the persistent storage PRSTR, and someinformation storage media used as the persistent storage PRSTR may havea low data transfer rate. Therefore, in this embodiment, since theprimary video set PRMVS that can also handle high-resolution videoinformation is allowed to be recorded in only the information storagemedium DISC, continuous presentation to the user can be guaranteedwithout interrupting high-resolution data of the primary video setPRMVS. The primary video set read out from the information storagemedium DISC in this way is transferred into the primary video playerPRMVP. In the primary video set PRMVS, a main video MANVD, main audioMANAD, sub video SUBVD, sub audio SUBAD, and sub-picture SUBPT aremultiplexed and recorded as packs in 2048-byte units. These packs aredemultiplexed upon playback, and undergo decode processing in the mainvideo decoder MVDEC, main audio decoder MADEC, sub video decoder SVDEC,sub audio decoder SADEC, and sub-picture decoder SPDEC. This embodimentallows two different playback methods of objects of the secondary videoset SCDVS, i.e., a direct playback route from the information storagemedium DISC or persistent storage PRSTR, and a method of playing backobjects from the data cache DTCCH after they are temporarily stored inthe data cache DTCCH. In the first method described above, the secondaryvideo set SCDVS recorded in the information storage medium DISC orpersistent storage PRSTR is directly transferred to the secondary videoplayer SCDVP, and undergoes decode processing by the main audio decoderMADEC, sub video decoder SVDEC, or sub audio decoder SADEC. As thesecond method described above, the secondary video set SCDVS istemporarily recorded in the data cache DTCCH irrespective of its storagelocation (i.e., the information storage medium DISC, persistent storagePRSTR, or network server NTSRV), and is then sent from the data cacheDTCCH to the secondary video player SCDVP. At this time, the secondaryvideo set SCDVS recorded in the information storage medium DISC orpersistent storage PRSTR is recorded in the file cache FLCCH in the datacache DTCCH. However, the secondary video set SCDVS recorded in thenetwork server NTSRV is temporarily stored in the streaming bufferSTRBUF. Data transfer from the information storage medium DISC orpersistent storage PRSTR does not suffer any large data transfer ratedrop. However, the data transfer rate of object data sent from thenetwork server NTSRV may temporarily largely drop according to networkcircumstances. Therefore, since the secondary video set SCDVS sent fromthe network server NTSRV is recorded in the streaming buffer STRBUF, adata transfer rate drop on the network can be backed up in terms of thesystem, and continuous playback upon user presentation can beguaranteed. This embodiment is not limited to these methods, and canstore data of the secondary video set SCDVS recorded in the networkserver NTSRV in the persistent storage PRSTR. After that, theinformation of the secondary video set SCDVS is transferred from thepersistent storage PRSTR to the secondary video player SCDVP, and can beplayed back and presented.

As shown in FIG. 10, all pieces of information of the advancedapplication ADAPL and advanced subtitle ADSBT are temporarily stored inthe file cache FLCCH in the data cache DTCCH irrespective of therecording locations of objects. In this way, the number of times ofaccess of an optical head in the information recording and playback unitshown in FIG. 1 is reduced upon simultaneous playback with the primaryvideo set PRMVS and secondary video set SCDVS, thus guaranteeingcontinuous presentation to the user. The advanced application ADAPLtemporarily stored in the file cache FLCCH is transferred to theadvanced application presentation engine AAPEN, and undergoespresentation processing to the user. The information of the advancedsubtitle ADSBT stored in the file cache FLCCH is transferred to theadvanced subtitle player ASBPL, and is presented to the user.

Data Access Manager:

Data Access Manager consists of Disc Manger, Network Manager andPersistent Storage Manager (see FIG. 26).

Disc Manager:

The Disc Manager controls data reading from HD DVD disc to internalmodules of the Advanced Content Player.

The Disc Manager is responsible to provide file access API set for HDDVD Disc. HD DVD Disc shall not support write function.

Persistent Storage Manager:

The Persistent Storage Manager controls data exchange between PersistentStorage Devices and internal modules of Advanced Content Player. ThePersistent Storage Manager is responsible to provide file access API setfor Persistent Storage devices. Persistent Storage devices may supportfile read/write functions.

Network Manager:

The Network Manager controls data exchange between Network Server andinternal modules of the Advanced Content Player. The Network Manager isresponsible to provide file access API set for Network Server. NetworkServer usually supports file download and some Network Servers maysupport file upload.

The Navigation Manager invokes file download/upload between NetworkServer and the File Cache in accordance with Advanced Application. TheNetwork Manager also provides protocol level access functions to thePresentation Engine. The Secondary Video Player in the PresentationEngine can utilize these functions for streaming from Network Server.

More intelligible explanations will be provided below.

FIG. 26 shows the structure of the data access manager DAMNG in theadvanced content playback unit ADVPL shown in FIG. 14.

The data access manager DAMNG in this embodiment controls exchange ofvarious playback objects recorded in the persistent storage PRSTR,network server NTSRV, and information storage medium DISC into theadvanced content playback unit ADVPL. The data access manager DAMNGincludes a disc manager DKMNG, persistent storage manager PRMNG, andnetwork manager NTMNG. The operation of the disc manager DKMNG will bedescribed first. In this embodiment, the disc manager DKMNG performsdata control upon reading information from the information storagemedium DISC and transferring data to various internal modules in theadvanced content playback unit ADVPL. The disc manager DKMNG plays backvarious files recorded in the information storage medium DISC inaccordance with API (application interface) commands with respect to theinformation storage medium DISC of this embodiment. This embodiment isnot premised on a write function of information in the informationstorage medium DISC.

The persistent storage manager PRMNG controls data transfer between thepersistent storage PRSTR and various internal modules in the advancedcontent playback unit ADVPL. The persistent storage manager PRMNG alsoperforms file access control (file read control) in the persistentstorage PRSTR in correspondence with an API command set as in the discmanager DKMNG. The persistent storage PRSTR of this embodiment ispremised on recording and playback functions.

The network manager NTMNG performs data transfer control between thenetwork server NTSRV and internal modules in the advanced contentplayback unit ADVPL. The network manager NTMNG performs file accesscontrol (file read control) based on an API command set with respect tothe network server NTSRV. In this embodiment, the network server NTSRVnot only normally supports file downloading from the network serverNTSRV but also can support file uploading to the network server NTSRV.

Furthermore, in this embodiment, the network manager NTMNG also managesan access control function in protocol level of various playback objectsto be sent to the presentation engine PRSEN. Also, the network managerNTMNG can perform data transfer control of the secondary video set SCDVSfrom the network server NTSRV to the secondary video player SCDVP viathe streaming buffer STRBUF, as shown in FIG. 25. The network managerNTMNG also controls and manages these control operations.

Data Cache:

The Data Cache can be divided into two kinds of temporal data storages.One is the File Cache which is temporal buffer for file data. The otheris the Streaming Buffer which is temporal buffer for streaming data.

The Data Cache quota for the Streaming Buffer is described in Play listand the Data Cache is divided during startup sequence of the AdvancedContent playback. Minimum size of Data Cache is 64 MB (see FIG. 27).

Data Cache Initialization:

The Data Cache configuration is changed during startup sequence ofAdvanced Content playback. Play list can include size of the StreamingBuffer. If there is no Streaming Buffer size configuration, it indicatesStreaming Buffer size equals zero. The byte size of Streaming Buffersize is calculated as follows.<streaming Buf size=“1024”/>Streaming Buffer size=1024 (kB)=1024×1024 bytes.

The Streaming Buffer size shall be multiple of 2048 bytes.

Minimum Streaming Buffer size is zero byte.

File Cache:

The File Cache is used for temporal file cache among Data Sources,Navigation Manager and Presentation Engine.

Streaming Buffer:

The Streaming Buffer is used for temporal data buffer for SecondaryVideo Set by the Secondary Video Presentation Engine in the SecondaryVideo Player. The Secondary Video Player requests the Network Manager toget a part of S-EVOB of Secondary Video Set to the Streaming Buffer. Andthen Secondary Video Player reads S-EVOB data from the Streaming Bufferand feeds it to the Demux Module in the Secondary Video Player.

More intelligible explanations will be provided below.

FIG. 27 shows the structure in the data cache DTCCH in the advancedcontent playback unit ADVPL shown in FIG. 14.

In this embodiment, the data cache DTCCH is divided into two differenttypes of areas to be described below as temporal data storage locations.The first area is the file cache FLCCH which is used as a temporarystorage location (temporal buffer) for file data. As the second area, inthis embodiment, the streaming buffer STRBUF which is used as atemporary storage location for streaming data can be defined. As shownin FIG. 25, in this embodiment, the streaming buffer STRBUF cantemporarily store the secondary video set SCDVS transferred from thenetwork server NTSRV. A substitute audio SBTAD, substitute audio videoSBTAV, or secondary audio video included in the secondary video setSCDVS is temporarily recorded in the streaming buffer STRBUF. Aninformation description column associated with the streaming buffer inresource information RESRCI in a playlist PLLST describes informationassociated with the streaming buffer STRBUF area assigned to the datacache DTCCH (the size of the streaming buffer STRBUF area, the addressrange on the memory space assigned as the streaming buffer STRBUF area,and the like)

During playback startup processing (startup sequence) of the advancedcontent ADVCT, an assignment job of the data cache DTCCH (assignmentprocessing of the data size to be assigned to the file cache FLCCH andthat to be assigned to the streaming buffer) is executed. In thisembodiment, the data size in the data cache DTCCH is premised on 64 MBor more. Smooth execution of the presentation processing of the advancedapplication ADAPL and advanced subtitle ADSBT premised on 64 MB or moreto the user is guaranteed.

In this embodiment, during the startup processing (startup sequence)upon playback of the advanced content ADVCT, the assignment job in thedata cache DTCCH (settings of the assigned memory sizes of the filecache FLCCH and streaming buffer STRBUF, and the like) is changed. Theplaylist file PLLST describes memory size information to be assigned tothe streaming buffer STRBUF. If the size of the streaming buffer STRBUFis not described in the playlist PLLST, the memory size to be assignedto the streaming buffer STRBUF is considered as “0”. The sizeinformation of the streaming buffer STRBUF described in configurationinformation CONFGI in the playlist file PLLST shown in FIGS. 23A and 23Bis described using a pack size (logical block size or logical sectorsize) as a unit. In this embodiment, all of one pack size, one logicalblock size, and one logical sector size are equal to each other, i.e.,2048 bytes (about 2 kbytes). For example, when the aforementionedconfiguration information CONFGI describes that the streaming buffersize is 1024, the size of the streaming buffer on the memory space,which is actually assigned in the data cache DTCCH, is 1024×2=2048kbytes. The minimum size of the streaming buffer STRBUF is specified as0 byte. In this embodiment, primary enhanced video objects P-EVOBincluded in the primary video set PRMVS and secondary enhanced videoobjects S-EVOB included in the secondary video set SCDVS are recorded asstreams in pack units for respective logical blocks (logical sectors).Therefore, in this embodiment, by describing the size information of thestreaming buffer STRBUF using a pack size (logical block size or logicalsector size) as a unit access control to respective stream packs can befacilitated.

The file cache FLCCH is used as a location used to temporarily storedata of the advanced content ADVCT externally fetched via the dataaccess manager DAMNG, and can be used by both the navigation managerNVMNG and presentation engine PRSEN, as shown in FIG. 27.

As shown in FIG. 27, in this embodiment, the streaming buffer STRBUF isa memory space used by the presentation engine PRSEN alone. As shown inFIG. 25, in this embodiment, the streaming buffer STRBUF records data ofthe secondary video set SCDVS, and can be used by a secondary videoplayback engine SVPBEN in the secondary video player SCDVP. Thesecondary video player SCDVP issues a request to the network managerNTMNG (included in the data access manager DAMNG shown in FIG. 26) toread at least some of secondary enhanced video object data S-EVOB in thesecondary video set SCDVS from the network server NTSRV and totemporarily store them in the streaming buffer STRBUF. After that, thesecondary video player SCDVP reads the secondary enhanced video objectdata S-EVOB temporarily stored in the streaming buffer STRBUF, transfersthem to a demultiplexer DEMUX in the secondary video player SCDVP shownin FIG. 35, and make them undergo decoder processing in a decoder engineDCDEN.

Navigation Manager:

Navigation Manager consists of five major functional modules, Parser,Play list Manager, Advanced Application Manager, File Cache Manager andUser Interface Engine (see FIG. 28).

Parser:

Parser reads and parses Advanced Navigation files in response to therequest from Play list Manager and Advanced Application Manager. Parsedresults are sent to the requested modules.

Play List Manager:

Play list Manager has following responsibilities.

-   -   Initialization of all playback control modules    -   Title Timeline Control    -   File Cache resource management    -   Playback control module management    -   Interface of player system

Initialization of all playback control modules:

Play list Manager executes startup procedures based on the descriptionsin Play list. Play list Manager changes File Cache size and StreamingBuffer size. Play list Manager tells playback information to eachplayback control modules, for example, information of TMAP file andplayback duration of P-EVOB to Primary Video Player, manifest file toAdvanced Application Manager, and so on.

Title Timeline Control:

Play list Manager controls Title Timeline progress in response to therequest from Advanced Application, playback progress status from eachplayback control modules and default playback schedule of the currentPlay list. Play list Manager also observes each playback modules, suchas Primary Video Player, Secondary Video Player and so on, whether theycan keep seamless playback the own Presentation Object which issynchronized to Title Timeline. When some synchronized PresentationObject can not keep seamless playback, Play list Manager arbitratespresentation timing among synchronized Presentation Objects and time ofTitle Timeline.

File Cache Resource Management:

Play list Manager reads and parses Resource Information of ObjectMapping information in Play list. Play list Manager gives ResourceInformation to File Cache Manager which generates resource managementtable in it.

Play list Manager orders File Cache Manager to load and discard resourcefiles based on this table along with Title Timeline progress.

Playback Control Module Management:

Play list Manager provides variety set of APIs of playback controlmodules to programming engine in Advanced Application Manager. There areAPIs of Secondary Video Player control, Effect Audio control, AudioMixing control and so on.

Interface of Player System:

Play list Manager provides player system APIs to programming engine inAdvanced Application Manager.

There are APIs to access System Information and so on.

Advanced Application Manger:

Advanced Application Manager controls entire playback behavior ofAdvanced Content and also controls Advanced Application PresentationEngine in accordance with the cooperation of Markup and Script ofAdvanced Application. Advanced Application Manager consists ofDeclarative Engine and Programming Engine (See FIG. 28).

Declarative Engine:

Declarative Engine manages and controls declarative behavior of AdvancedContent in accordance with the Markup of Advanced Application.Declarative Engine has following responsibilities:

-   -   Control of Advanced Application Presentation Engine        -   Layout of graphics object and advanced text        -   Style of graphics object and advanced text        -   Timing control of scheduled graphics plane behaviors and            effect audio playback    -   Control of main video        -   Attributes control of main video in Primary Audio Video via            the object element which is assigned to main video.    -   Control of sub video        -   Attributes control of sub video in Primary Audio Video or            Secondary Audio Video via the object element which is            assigned to sub video.    -   Scheduled script call        -   Control script call timing by executing timing element.

Programming Engine:

Programming Engine manages event driven behaviors, API set calls, or anykind of control of Advanced Content. User Interface events are typicallyhandled by Programming Engine and it may change the behavior of AdvancedContent or Advanced Application which is defined in Declarative Engine.

File Cache Manager:

File Cache Manager is responsible for

-   -   Storing resource files including package file which is        multiplexed in P-EVOBS from demux module in Primary Video Player        to File Cache    -   Storing resource files including package file on Disc, Network        Server or Persistent Storage    -   Retrieving resource files including package file from Data        Source to File Cache which is requested by Play list Manager or        Advanced Application Manager.    -   File System management of File Cache

File Cache Manager receives PCKs of Advanced Stream multiplexed inP-EVOBS from demux module in Primary Video Player. PS header of AdvancedStream PCK is removed, and then stored Advanced Stream data into FileCache. File Cache Manager also gets resource files including packagefile on Disc, Network Server or Persistent Storage in response to therequest from Play list Manager or Advanced Application.

User Interface Engine

The User Interface Engine includes the Cursor Manager and several userinterface device controllers, such as Front Panel, Remote Control,Mouse, Game Pad controller and so on. At least support one device whichcan generate User Input Event is mandatory. Support of Cursor Manager ismandatory. Support of a way for slipping out of a hang-up (such as,Reset Button, DISC tray compulsorily open button and so on) ismandatory. To support other user interfaces are optional.

Each controller detects availability of the device and observes useroperation events. Every User Input Event is defined in thisspecification. The user input events are notified to Programming Enginein Advanced Application Manager in Navigation Manager.

The Cursor Manager controls cursor shape and position. Cursor position,image and hotspot may be updated via API call from the ProgrammingEngine in Advanced Application Manager. The Cursor Manager updates theCursor Plane according to moving events from related devices, such asMouse, Game Pad and so on. The area to which Cursor can move is called‘Cursor Region’. This area may be changed by API call.

More intelligible explanations will be provided below.

FIG. 28 shows the internal structure of the navigation manager NVMNG inthe advanced content playback unit ADVPL shown in FIG. 14. In thisembodiment, the navigation manager NVMNG includes five principalfunctional modules, i.e., a parser PARSER, playlist manager PLMNG,advanced application manager ADAMNG, file cache manager FLCMNG, and userinterface engine UIENG.

In this embodiment, the parser PARSER shown in FIG. 28 parses anadvanced navigation file (a manifest file MNFST, markup file MRKUP, andscript file SCRPT in the advanced navigation directory ADVNV shown inFIG. 11) in response to a request from the playlist manager PLMNG oradvanced application manager ADAMNG to execute analysis processing ofthe contents. The parser PARSER sends various kinds of requiredinformation to respective functional modules based on the analysisresult.

The playlist manager PLMNG shown in FIG. 28 executes the followingprocesses:

-   -   initialization of all playback control modules such as the        presentation engine PRSEN, AV renderer AVRND, and the like in        the advanced content playback unit ADVPL shown in FIG. 14;    -   title timeline TMLE control (synchronization processing of        respective presentation objects synchronized with the title        timeline TMLE, pause or fast-forwarding control of the title        timeline TMLE upon user presentation, and the like);    -   resource management in the file cache FLCCH (data cache DTCCH);    -   management of playback presentation control modules such as the        presentation engine PRSEN, AV renderer AVRND, and the like in        the advanced content playback unit ADVPL; and    -   interface processing of the player system.

In this embodiment, the playlist manager PLMNG sown in FIG. 28 executesinitialization processing based on the contents described in theplaylist file PLLST. As practical contents, the playlist manager PLMNGchanges the memory space size to be assigned to the file cache FLCCH andthe data size on the memory space to be assigned as the streaming bufferSTRBUF in the data cache DTCCH shown in FIG. 27. Upon playback andpresentation of the advanced content ADVCT, the playlist manager PLMNGexecutes transfer processing of required playback presentationinformation to respective playback control modules. For example, theplaylist manager PLMNG transmits a time map file PTMAP of the primaryvideo set PRMVS to the primary video player PRMVP during the playbackperiod of the primary enhanced video object data P-EVOB. The playlistmanager PLMNG transfers the manifest file MNFST to the advancedapplication manager ADAMNG from the playlist manager PLMNG.

The playlist manager PLMNG performs the following three controloperations.

1) The playlist manager PLMNG executes progress processing of the titletimeline TMLE in response to a request from the advanced applicationADAPL. In the description of FIG. 17, a markup page jump takes place dueto a hard sync jump upon playback of the advanced application ADAPL. Thefollowing description will be given using the example of FIG. 16. Inresponse to pressing of a help icon 33 included in the advancedapplication ADAPL by the user during simultaneous presentation of a maintitle 31 and independent window 32 for a commercial, the screen contentswhich are presented on the lower side of the screen and are configuredby the advanced application ADAPL are often changed (markup page jump).At this time, preparation for the contents (the next markup page to bepresented) often requires a predetermined period of time. In such case,the playlist manager PLMNG stops progress of the title timeline TMLE toset a still state of video and audio data until the preparation for thenext markup page is completed. These processes are executed by theplaylist manager PLMNG.

2) The playlist manager PLMNG controls playback presentation processingstatus of playback states from various playback presentation controlmodules. As a practical example, in this embodiment, the playlistmanager PLMNG recognizes the progress states of respective modules, andexecutes corresponding processing when any abnormality has occurred.

3) Playback presentation schedule management in a default state in thecurrent playlist PLLST

In this embodiment, the playlist manager PLMNG monitors playbackpresentation modules such as the primary video player PRMVP, secondaryvideo player SCDVP, and the like irrespective of the necessity ofcontinuous (seamless) playback of various presentation objects to bepresented in synchronism with the title timeline TMLE. When continuous(seamless) playback of various presentation objects to be presented insynchronism with the title timeline TMLE is disabled, the playlistmanager PLMNG adjusts playback timings between the objects to besynchronously presented and played back, and time (time period) on thetitle timeline TMLE, thus performing presentation control that does notmake the user feel uneasy.

The playlist manager PLMNG in the navigation manager NVMNG reads out andanalyzes resource information RESRCI in the playlist PLLST. The playlistmanager PLMNG transfers the readout resource information RESRCI to thefile cache FLCCH. The playlist manager PLMNG instructs the file cachemanager FLCMNG to load or erase resource files based on a resourcemanagement table in synchronism with the progress of the title timelineTMLE.

The playlist manager PLMNG in the navigation manager NVMNG generatesvarious commands (API) associated with playback presentation control toa programming engine PRGEN in the advanced application manager ADAMNG tocontrol the programming engine PRGEN. As an example of various commands(API) generated by the playlist manager PLMNG, a control command for thesecondary video player SCDVP (FIG. 34), a control command for an audiomixing engine ADMXEN (FIG. 38), an API command associated withprocessing of an effect audio EFTAD, and the like are issued.

The playlist manager PLMNG also issues player system API commands forthe programming engine PRGEN in the advanced application manager ADAMNG.These player system API commands include a command required to accesssystem information, and the like.

In this embodiment, the functions of the advanced application managerADAMNG shown in FIG. 28 will be described below. The advancedapplication manager ADAMNG performs control associated with all playbackpresentation processes of the advanced content ADVCT. Furthermore, theadvanced application manager ADAMNG also controls the advancedapplication presentation engine AAPEN shown in FIG. 30 as acollaboration job in association with the information of the markup fileMRKUP and script file SCRPT of the advanced application ADAPL. As shownin FIG. 28, the advanced application manager ADAMNG includes adeclarative engine DECEN and the programming engine PRGEN.

The declarative engine DECEN manages and controls declaration processingof the advanced content ADVCT in correspondence with the markup fileMRKUP in the advanced application ADAPL. The declarative engine DECENcopes with the following items.

1. Control of Advanced Application presentation engine AAPEN (FIG. 30)

-   -   Layout processing of graphic object (advanced application ADAPL)        and advanced text (advanced subtitle ADSBT)    -   Presentation style control of graphic object (advanced        application ADAPL) and advanced text (advanced subtitle ADSBT)    -   Presentation timing control in synchronism with presentation        plan of graphic plane (presentation associated with advanced        application ADAPL) and timing control upon playback of effect        audio EFTAD

2. Control Processing of Main Video MANVD

-   -   Attribute control of main video MANVD in primary audio video        PRMAV

As shown in FIG. 39, the frame size of a main video MANVD in the mainvideo plane MNVDPL is set by an API command in the advanced applicationADAPL. In this case, the declarative engine DECEN performs presentationcontrol of the main video MANVD in correspondence with the frame sizeand frame layout location information of the main video MANVD describedin the advanced application ADAPL.

3. Control of Sub Video SUBVD

-   -   Attribute control of sub video SUBVD in primary audio video        PRMAV or secondary audio video SCDAV

As shown in FIG. 39, the frame size of a sub video SUBVD in the subvideo plane SBVDPL is set by an API command in the advanced applicationADAPL. In this case, the declarative engine DECEN performs presentationcontrol of the sub video SUBVD in correspondence with the frame size andframe layout location information of the sub video SUBVD described inthe advanced application ADAPL.

4. Schedule-managed Script Call

-   -   The script call timing is controlled in correspondence with        execution of a timing element described in the advanced        application ADAPL.

In this embodiment, the programming engine PRGEN manages processingcorresponding to various events such as an API set call, given controlof the advanced content ADVCT, and the like. Also, the programmingengine PRGEN normally handles user interface events such as remotecontroller operation processing and the like. The processing of theadvanced application ADAPL, that of the advanced content ADVCT, and thelike defined in the declarative engine DECEN can be changed by a userinterface event UIEVT or the like.

The file cache manager FLCMNG processes in correspondence with thefollowing events.

1. The file cache manager FLCMNG extracts packs associated with theadvanced application ADAPL and those associated with the advancedsubtitle ADSBT, which are multiplexed in a primary enhanced video objectset P-EVOBS, combines them as resource files, and stores the resourcefiles in the file cache FLCCH. The packs corresponding to the advancedapplication ADAPL and those corresponding to the advanced subtitleADSBT, which are multiplexed in the primary enhanced video object setP-EVOBS, are extracted by the demultiplexer DEMUX shown in FIG. 35.

2. The file cache manager FLCMNG stores various files recorded in theinformation storage medium DISC, network server NTSRV, or persistentstorage PRSTR in the file cache FLCCH as resource files.

3. The file cache manager FLCMNG plays back source files, which werepreviously transferred from various data sources to the file cacheFLCCH, in response to requests from the playlist manager PLMNG and theadvanced application manager ADAMNG.

4. The file cache manager FLCMNG performs file system managementprocessing in the file cache FLCCH.

As described above, the file cache manager FLCMNG performs processing ofthe packs associated with the advanced application ADAPL, which aremultiplexed in the primary enhanced video object set P-EVOBS and areextracted by the demultiplexer DEMUX in the primary video player PRMVP.At this time, a presentation stream header in an advanced stream packincluded in the primary enhanced video object set P-EVOBS is removed,and packs are recorded in the file cache FLCCH as advanced stream data.The file cache manager FLCMNG acquires resource files stored in theinformation storage medium DISC, network server NTSRV, and persistentstorage PRSTR in response to requests from the playlist manager PLMNGand the advanced application manager ADAMNG.

The user interface engine UIENG includes a remote control controllerRMCCTR, front panel controller FRPCTR, game pad controller GMPCTR,keyboard controller KBDCTR, mouse controller MUSCTR, and cursor managerCRSMNG, as shown in FIG. 28. In this embodiment, one of the front panelcontroller FRPCTR and remote control controller RMCCTR must besupported. In this embodiment, the cursor manager CRSMNG isindispensable, and the user processing on the screen is premised on theuse of a cursor like in a personal computer. Various other controllersare handled as options in this embodiment. Various controllers in theuser interface engine UIENG shown in FIG. 28 detect if correspondingactual devices (a mouse, keyboard, and the like) are available, andmonitor user operation events. If the above user input processing ismade, its information is sent to the programming engine PRGEN in theadvanced application manager ADAMNG as a user interface event UIEVT. Thecursor manager CRSMNG controls the cursor shape and the cursor positionon the screen. The cursor manager CRSMNG updates a cursor plane CRSRPLshown in FIG. 39 in response to motion information detected in the userinterface engine UIENG.

Player State Machine for Advanced Content Player

FIG. 29 shows state machine of Advanced Content Player. There are eightstates in the state machine, Startup, Playback, Pause, Pre Jump, PostJump, Stop and Suspend.

A) Startup/Update State

When the player starts Startup Sequence or Update Sequence, player statemachine moves to Startup/Update State. After Startup/Update Sequence iscompleted normally, state machine moves to Playback State.

B) Playback State

While the Title Timeline progress at normal speed, player state machinein Playback State.

C) Stop State

On this state, the Title Timeline shall not progress and also everyapplication shall not progress.

D) Pause State

While the Title Timeline has stopped temporarily, the player statemachine moves to Pause State.

E) Fast/Slow—Forward/Reverse State

While the Title Timeline has run fast forward, slow forward, fastreverse or slow reverse, player state machine moves toFast/Slow—Forward/Reverse State.

F) Pre Jump State

When user clicks ‘jump’ button which is presented by Menu Application,the player state machine moves to Pre Jump State. In this state, amongcurrent running applications, all applications which are invalid atdestination point on Title Time line, are terminated. After thisprocessing is completed, state machine moves to Post Jump State.

G) Post Jump State

In the beginning of this state, jump to certain jump destination time onTitle Timeline. And then, the preparations for starting nextpresentation, such as buffering for video presentation, resource loadingfor application, are made. After that, the state machine moves toPlayback State.

H) Suspend State

While Standard Contents is playing or Persistent Storage Management Menuis in execution, the state machine moves to Suspend State. In thisstate, Title Timeline and all presentation objects are suspended.

More intelligible explanations will be provided below.

States to be processed by the advanced content playback unit ADVPL inthe information recording and playback apparatus 1 shown in FIG. 1include eight states, i.e., a suspend state SPDST, pause state PSEST,fast state FASTST/slow state SLOWST/forward state FWDST/reverse stateRVCST, startup state STUPST/update state UPDTST, stop state STOPST,playback state PBKST, pre-jump state PRJST, and post-jump state POJST.FIG. 29 is a state transition chart among the states of the advancedcontent playback unit ADVPL. Respective states shown in this statetransition chart are controlled by the navigation manager NVMNG in theadvanced content playback unit ADAPL, as shown in FIG. 14. For example,in case of the system example shown in FIG. 1, when the user operates aremote controller toward the wide-screen TV monitor 15, wireless data 18is input to the advanced content playback unit ADVPL via the wirelessLAN controller 7-1 in the information recording and playback apparatus1. When information of the user operation UOPE is input to thenavigation manager NVMNG in the advanced content playback unit ADVPL,the remote control controller RMCCTR operates, and inputs thatinformation to the advanced application manager ADAMNG as a userinterface event UIEVT, as shown in FIG. 28. The advanced applicationmanager ADAMNG interprets the user designated contents in correspondencewith the position on the screen designated by the user, and notifies theparser PARSER of them. The parser PARSER causes transition to each ofthe states shown in FIG. 29. When each state transition has occurred, asshown in FIG. 29, the parser PARSER controls optimal processing incorrespondence with information of the playlist PLLST interpreted by theplaylist manager PLMNG. The operation contents of respective states willbe described below.

A) Startup State STUPST/Update State UPDTST

When the advanced content playback unit ADVPL starts the startupprocessing or update processing, it transits to the startup stateSTUPST/update state UPDTST. When the startup state STUPST/update stateUPDTST is normally complete, the advanced content playback unit ADVPLtransits to the playback state PBKST.

B) Playback State PBKST

The playback state PBKST means a playback state of the advanced contentADVCT at a normal speed. That is, when the advanced content playbackunit ADVPL is in the playback state PBKST, it executes processing alongthe title timeline TMLE at a normal playback speed.

C) Stop State STOPST

The stop state STOPST means that the advanced content playback unitADVPL reaches an end state. At this time, the processing along the timeaxis of the title timeline TMLE is not executed, and every applicationprocesses are also stopped.

D) Pause State PSEST

The pause state PSEST represents a paused state. At this time, the timeprogress of the title timeline TMLE (count-up on the title timelineTMLE) is paused.

E) Fast State FASTST/Slow State SLOWST/Forward State FWDST/Reverse StateRVCST

The fast state FASTST means a fast playback mode of a movie, and theslow state SLOWST means a slow playback mode of a movie. The forwardstate FWDST means information playback in a normal playback directionand also includes jump processing to an identical title in the forwarddirection (to access a playback position after an elapse of a specifictime period). The reverse state RVCST means playback in the reversedirection with respect to the normal playback direction (rewinding), andalso includes jump playback to a position a specific time period before.When the advanced content playback unit ADVPL is in each of the abovestates, the time change (count-up/count-down) processing on the titletimeline TMLE is executed in correspondence with each of these playbackstates as the time progress (count change state) on the title timeline.

F) Pre-jump State PRJST

The pre-jump state means end processing of a content (title), playbackof which is underway. In this embodiment, the advanced application ADAPLpresents various control buttons on the screen. When the user clicks a“jump button” of these buttons, the advanced content playback unit ADVPLtransits to the pre-jump state PRJST. A jump destination designated bythe “jump button” presented by the advanced application ADAPL indicatesjump to a different title or is largely different from the time (countvalue) designated by the title timeline TMLE even in an identical title.The advanced application ADVPL currently presented on the screen isoften not used (its validity period has expired) on the time (countvalue) of a title timeline TMLE corresponding to the jump destination.In this case, the end processing of the advanced application ADAPLcurrently presented on the screen is needed. Therefore, in thisembodiment, in the pre-jump state PRJST, the time (count value) of thetitle timeline TMLE at the jump destination is checked, and the endprocessing of the advanced application ADAPL, the validity period ofwhich has expired and presentation preparation processing of an advancedapplication ADAPL, the validity period of which newly starts (which isnot presented on the frame before jump) are executed. After that, theadvanced content playback unit ADVPL transits to the post-jump statePOJST.

G) Post-jump State POJST

The post-jump state POJST represents a loading processing mode of thenext content (title). As shown in FIG. 17, unique title timelines TMLEare set for respective titles. When transition is made to the pre-jumpstate PRJST during playback of, e.g., title #2, the time progress of thetitle timeline TMLE of title #2 is stopped. When playback preparation ofnext title #3 is made in the post-jump state POJST, the title timelineTMLE shifts from the one for title #2 to that corresponding to title #3.In the post-jump state POJST, preparation processes such as the settingof the memory space of the data cache DTCCH, loading processing of theadvanced application ADAPL into the set data cache DTCCH, and the likeare executed. Upon completion of these series of preparation processes,the advanced content playback unit ADVPL transits to the playback statePBKST.

H) Suspend State SPDST

The suspend state means that the advanced content playback unit ADVPL isin a standby state. In this state, the time progress of the titletimeline TMLE is paused, and various playback presentation objects arein a presentation standby state. As an example of this state, in, e.g.,FIG. 1, this state is set when only the standard content STDCT ispresented on the wide-screen TV monitor 15, and the advanced contentADVCT is not presented.

When the user inserts the information storage medium DISC into theinformation recording and playback unit 2 in the information recordingand playback apparatus 1, the advanced content playback unit ADVPL isset in the startup state STUPST, and also enters the update state UPDTSTas an initial state. After that, in a normal case, the advanced contentplayback unit ADVPL transits to the playback state PBKST soon to start apresentation mode of the advanced content ADVCT. At this time, when theuser switches the advanced content ADVCT to the standard content STDCT,the advanced content playback unit ADVPL transits to the suspend stateSPDST. When the user starts to play back the advanced content ADVCTagain, the advanced content playback unit ADVPL transits to the playbackstate PBKST. Next, when the user instructs frame transition to anotherframe (title), the advanced content playback unit ADVPL transits to thepost-jump state POJST via the pre-jump state PRJST, and then transits tothe playback state PBKST of the title designated by the user. In thiscase, when the user presses a pause button during playback, the advancedcontent playback unit ADVPL transits to the pause state PSEST. Afterthat, when the user designates fast-forwarding, the advanced contentplayback unit ADVPL transits to the fast state. After that, when theuser quits the information recording and playback apparatus 1, theadvanced content playback unit ADVPL transits to the stop state STOPST.The state transition of the advanced content playback unit ADVPL takesplace in response to user operations UOPE in this way.

Presentation Engine:

The Presentation Engine is responsible to decode presentation data andoutput AV Renderer in response to control commands from the NavigationManager. It consists of six major modules and one graphic bufferingmemory. These six major modules are Advanced Application PresentationEngine, Advanced Subtitle Player, Font Rendering System, Secondary VideoPlayer, Primary Video Player and Decoder Engine.

And, one graphics buffering memory is Pixel Buffer. The Pixel buffer isshared graphics memory which is stores pixel images, such as text imagesand decoded PNG images. The Pixel buffer is used for the AdvancedApplication Presentation Engine, Font Rendering System and AdvancedSubtitle Player (See FIG. 30).

Advanced Application Presentation Engine:

More intelligible explanations will be provided below.

FIG. 30 shows the internal structure of the presentation engine PRSEN inthe advanced content playback unit ADVPL shown in FIG. 14.

Positioning of the presentation engine PRSEN will be described first.The advanced content ADVCT recorded on each of various recording mediapasses through the data access manager DAMNG, as shown in FIG. 14, andthen undergoes data transfer to the AV renderer AVRND via thepresentation engine PRSEN. Control at this time is done by thenavigation manager NVMNG. That is, the presentation engine PRSEN decodesplayback presentation data corresponding to various presentation objectsin response to control commands generated by the navigation managerNVMNG, and transfers the decoded results to the AV renderer AVRND. Asshown in FIG. 30, the presentation engine PRSEN includes six differentprincipal processing functional modules and one graphic buffer memory.The six different principal functional modules include the advancedapplication presentation engine AAPEN, a font rendering system FRDSTM,the advanced subtitle player ASBPL, the secondary video player SCDVP,the primary video player PRMVP, and the decoder engine DCDEN. A pixelbuffer PIXBUF corresponds to the graphic buffer memory. For example, thepixel buffer PIXBUF is shared as a graphic memory that stores, e.g., atext image and a pixel image such as a PNG image or the like.

As shown in FIG. 30, the pixel buffer PIXBUF is shared by the advancedapplication presentation engine AAPEN, font rendering system FRDSTM, andadvanced subtitle player ASBPL. That is, as will be described later, theadvanced application presentation engine AAPEN generates image picturesassociated with the advanced application ADAPL (for example, a series offrame images from the help icon 33 to the FF button 38 shown in FIG.16). At this time, the advanced application presentation engine AAPENuses the pixel buffer PIXBUF as a temporary storage location of theimage pictures. Likewise, the font rendering system FRDSTM generatestext information corresponding to font. An image picture as the textinformation of the font shape which is specified and designatedtemporarily shares the pixel buffer PIXBUF as its temporary storagelocation. Also, when the advanced subtitle player ASBPL generates, e.g.,subtitle information of the advanced subtitle ADSBT, its image picturecan be temporarily stored in the pixel buffer PIXBUF.

As shown in FIG. 10, in this embodiment, there are four different typesof playback presentation objects, and FIG. 25 describes the data flow ofthese playback presentation objects in the advanced content playbackunit ADVPL. The relationship between FIG. 30 and FIG. 25 described abovewill be explained below.

The primary video set PRMVS will be explained first. As shown in FIG.25, the primary video set PRMVS recorded in the information storagemedium DISC is directly transferred to the primary video player PRMVP,and is decoded by various decoders. A relevant explanation will be givenusing FIG. 30. The primary video set PRMVS recorded in the informationstorage medium DISK goes through the data access manager DAMNG, is thendecoded by the decoder engine DCDEN via the primary video player PRMVP,and undergoes picture composition by the AV renderer AVRND.

The secondary video set SCDVS will be described below. As shown in FIG.25, the secondary video set SCDVS goes through the secondary videoplayer SCDVP and is decoded by various decoders. A relevant explanationwill be given using FIG. 30. The secondary video set SCDVS goes throughthe data access manager DAMNG, is processed by the secondary videoplayer SCDVP, is then decoded by the decoder engine DCDEN, and undergoespicture composition by the AV renderer AVRND. Also, as shown in FIG. 25,the secondary video set SCDVS recorded in the network server NTSRV goesthrough the streaming buffer STRBUF, and reaches the secondary videoplayer SCDVP. A relevant explanation will be given using FIG. 30. Thesecondary video set SCDVS recorded in the network server NTSRV istemporarily stored in the streaming buffer STRBUF (not shown) in thedata cache DTCCH, is sent from the streaming buffer STRBUF in the datacache DTCCH to the secondary video player SCDVP, is decoded by thedecoder engine DCDEN, and undergoes picture composition by the AVrenderer AVRND.

The advanced application ADAPL will be explained below. As shown in FIG.25, the advanced application ADAPL is temporarily stored in the filecache FLCCH, and is then transferred to an advanced element presentationengine AEPEN. A relevant explanation will be given using FIG. 30. Theadvanced application ADAPL is transferred from the file cache FLCCH inwhich it is temporarily stored to the advanced application presentationengine AAPEN, is formed as an image picture in the advanced applicationpresentation engine AAPEN, and then undergoes picture composition by theAV renderer AVRND.

Finally, the advanced subtitle ADSBT will be described below. As shownin FIG. 25, the advanced subtitle ADSBT is inevitably temporarily storedin the file cache FLCCH, and is then transferred to the advancedsubtitle player ASBPL. A relevant explanation will be given using FIG.30. The advanced subtitle ADSBT stored in the file cache FLCCH isconverted into an image picture that expresses the text contents by theadvanced subtitle player ASBPL, and undergoes picture composition on theAV renderer AVRND. Especially, when the advanced subtitle ADSBT is to bepresented on the screen in a designated font format, a font file FONTstored in the advanced element directory ADVEL, as shown in FIG. 11, isused. Using this data, the advanced subtitle ADSBT stored in the filecache FLCCH is converted into a character picture (image picture) in thedesignated font format in the font rendering system FRDSTM, and thenundergoes picture composition by the AV renderer AVRND. In thisembodiment, a character picture (image picture) in a unique font formatgenerated by the font rendering system FRDSTM is temporarily stored inthe pixel buffer PIXBUF, and that image picture is transferred to the AVrenderer AVRND via the advanced subtitle player ASBPL.

The Advanced Application Presentation Engine outputs two presentationstreams to the AV Renderer.

One is frame image for the Graphics Plane. The other is effect audiostream. The Advanced Application Presentation Engine consists of SoundDecoder, Graphics Decoder and Layout Manager (See FIG. 31).

Sound Decoder:

The Sound Decoder reads WAV file from the File Cache and continuouslyoutputs LPCM data to AV Renderer triggered by API call from theProgramming Engine.

Graphics Decoder:

The Graphics Decoder retrieves graphics data, such as MNG, PNG or JPEGimage from the File Cache.

These image files are decoded and stored in the Pixel Buffer. And then,it sent (bitblt) to the Layout Manager in response to request from theLayout Manager.

Layout Manager:

The Layout Manager has responsibility to make frame image for theGraphics Plane to the AV Renderer.

Layout information comes from the Declarative Engine in the AdvancedApplication Manager, when frame image is changed. The Layout Manager hasthe memory called “Graphics Surface” for creating frame image.

The Layout Manger invokes the Graphics Decoder to decode specifiedgraphics object which is to be located on frame image. The Layout Mangeralso invokes the Font Rendering System to make text image which is alsoto be located on frame image. The Layout Manager locates graphicalimages on proper position from bottom to top and calculates the pixelalpha value when the object has alpha channel/value. Then finally itsends frame image to AV Renderer.

More intelligible explanations will be provided below.

As shown in FIG. 14, in this embodiment, the advanced content playbackunit ADVPL includes the presentation engine PRSEN. FIG. 31 shows theinternal structure of the advanced application presentation engine AAPENin the presentation engine PRSEN shown in FIG. 30.

In this embodiment, the advanced application presentation engine AAPENtransfers two different types of playback presentation streams (playbackpresentation objects) to be described below to the AV renderer AVRND.One of playback presentation streams to be transferred to the AVrenderer AVRND is a frame image presented on the graphic plane GRPHPLshown in FIG. 39. An effect audio stream EFTAD corresponds to the otherplayback presentation stream. As shown in FIG. 31, the advancedapplication presentation engine AAPEN includes a sound decoder SNDDEC,graphics decoder GHCDEC, and layout manager LOMNG.

Effect audio EFTAD (see FIG. 10) information in the advanced applicationADAPL is transferred from the file cache FLCCH in which it istemporarily stored in advance to the sound decoder SNDDEC, is decoded inthe sound decoder SNDDEC, and then undergoes audio mixing in the AVrenderer AVRND. Each individual still picture IMAGE (see FIG. 10) whichforms the image picture in the advanced application ADAPL is transferredfrom the file cache FLCCH in which it is temporarily stored to thegraphics decoder GHCDEC, and is converted into (an element of) the imagepicture on the bitmap in the graphics decoder GHCDEC. Furthermore, eachstill picture IMAGE undergoes size conversion (scaler processing) in thelayout manager LOMNG, is composited on the layout to form the imagepicture, and then undergoes image composition by the AV renderer.

The above processing will be described below using the example shown inFIG. 16. As shown in FIG. 16, a plurality of pieces of individual stillpicture information corresponding to the help icon 33, stop button 34,play button 35, FR button 36, pause button 37, and FF button 38 arestored in the file cache FLCCH in correspondence with the advancedapplication ADAPL. In the graphics decoder GHCDEC, each individual stillpicture is converted into (an element of) the image picture on thebitmap by decoder processing. Next, the layout manager LOMNG sets theposition of the help icon 33, that of the stop button 34, and the like,and the image picture formed as an array of pictures from the help icon33 to the FF button 38 is generated in the layout manager LOMNG. Thisimage picture as an array of pictures from the help icon 33 to the FFbutton 38 generated by the layout manager LOMNG is composited to otherpictures by the AV renderer AVRND.

The sound decoder SNDDEC reads a WAV file from the file cache FLCCH, andcontinuously outputs that file in the linear PCM format to the AVrenderer AVRND. As shown in FIG. 28, the navigation manager NVMNGincludes the programming engine PRGEN. This programming engine PRGENissues an API command to the presentation engine PRSEN, and the abovedata processing is executed in response to that API command as atrigger.

The graphics decoder GHCDEC executes decode processing of graphics datastored in the file cache FLCCH. In this embodiment, (elements of) imagepictures to be handled include an MNG image, PNG image, MPEG image, andthe like. An image file that records information associated with theseimage pictures is decoded in the graphics decoder GHCDEC, and thedecoded (elements of) image pictures are temporarily stored in the pixelbuffer PIXBUF shown in FIG. 30. After that, the temporarily stored(elements of) image pictures are transferred to the layout manager LOMNGin response to a request from this layout manager LOMNG.

In this embodiment, the image pictures to be handled by the advancedapplication presentation engine AAPEN form a presentation frame on thegraphic plane GRPHPL shown in FIG. 39. The layout manager LOMNG executesprocessing for generating these image pictures on the graphic planeGRPHPL, and transferring them to the AV renderer AVRND for composition.Layout information corresponding to each presentation frame (elements ofimage picture) in the graphic plane GRPHPL shown in FIG. 39 isavailable. That is, different pieces of corresponding layout informationexist every time the frame contents in the graphic plane GRPHPL change,and the layout in the layout manager LOMNG is set based on such layoutinformation. This layout information issued by the declarative engineDECEN included in the advanced application manager ADAMNG in thenavigation manager NVMNG is transferred to the layout manager LOMNG, asshown in FIG. 28. The layout manager LOMNG incorporates a memory calleda graphics surface GRPHSF, which is used upon generating image pictureson the graphic plane GRPHPL. Upon laying out a plurality of pictures(elements of the image picture) in the graphic plane GRPHPL, the layoutmanager LOMNG individually activates the graphics decoder GHCDEC todecode each element of the image picture, and then sets the layout forrespective elements of image pictures as a frame image (image picture).As shown in FIG. 30, the presentation engine PRSEN includes the fontrendering system FRDSTM, which converts character information based onthe designated font format into an image picture. Upon makingpresentation using such specific font, the layout manager LOMNGactivates the font rendering system FRDSTM to convert text informationinto a frame image (image picture) and to lay it out on the graphicplane GRPHPL. In this embodiment, as shown in FIG. 39, the entire imagepicture or each individual element of the image picture on the graphicplane GRPHPL is set to be translucent, so that a video picture of asub-picture plane SBPCPL, sub video plane SBVDPL, or main video planeMNVDPL which exists below the graphic plane GRPHPL can be seen throughit. The transparency of each element of the image picture (or the entireimage picture) in the graphic plane GRPHPL with respect to the lowerplanes is defined by an alpha value. When the alpha value is set in thisway, the layout manager LOMNG sets to lay out the elements at designatedpositions on the graphic plane GRPHPL as translucent patterns accordingto the alpha value.

FIG. 32 shows an example behavior of Graphic Process Model how objectsin the File Cache and Drawing Canvas are treated.

1) There are three graphics objects (Face marks “Smile”, “Angry” and“Cry”) on the File Cache. In a similar way, texts for advancedapplication are stored on the File Cache.

2) The Presentation Engine decoded all face marks using Graphic Decoderand stores it in the Pixel Buffer. In a similar way, the text “ABC” isconverted by Font Rendering System and is stored in the Pixel Buffer. ALine Object on drawing canvas written by API is stored in the PixelBuffer.

3) These face mark objects are scaled and positioned on the GraphicsSurface. At this time, alpha value of these graphics is calculated. Inthis example, alpha value of “Face mark Angry” and “Face mark Smile” is40% transparent. In a similar way, the text object and the line objectare positioned on the Graphics Surface.

4) Layout Manager sends frame image to AV Render. More intelligibleexplanations will be provided below.

FIG. 32 shows a graphic process model in the presentation engine PRSENin this embodiment.

Before a graphic process, information of the advanced application ADAPLis recorded in the file cache FLCCH in a compressed form (compressionform CMPFRM) in this embodiment. A graphic image (image picture)generated by the graphic process is presented on the graphic planeGRPHPL in FIG. 39, as will be described later. On the graphic planeGRPHPL, a canvas coordinate system CNVCRD is defined, as shown in FIG.40, and each decoded graphic image (image picture including ananimation) is laid out on the canvas coordinate system CNVCRD.

1) In the embodiment shown in FIG. 32, three types of graphic objects(a), (b), and (c) are recorded in advance in the file cache FLCCH in thecompression form CMPFRM (compressed form). Also, text information of theadvanced application ADAPL can be recorded in the file cache FLCCH, asindicated by an example of “ABC”.

2) The graphics decoder GHCDEC shown in FIG. 31 decodes the three piecesof compressed information (a), (b), and (c) shown in FIG. 32 (1) toconvert them into image pictures (pixel images PIXIMG), and stores thedecoded results in the pixel buffer PIXBUF (FIG. 32 (2)). Likewise, thefont rendering system FRDSTM converts the text information “ABC”recorded in the file cache FLCCH into an image picture (pixel imagePIXIMG) and records it in the pixel buffer PIXBUF. As shown in FIG. 28,this embodiment also supports the mouse controller MUSCTR in thenavigation manager NVMNG. When the user draws a figure using a mouse viathe mouse controller MUSCTR, that figure is input in the form of a lineobject as the coordinates of the start and end point positions of eachline. The line object is drawn as an image picture (pixel image PIXIMG)on the canvas coordinate system CNVCRD in the form of an API command viathe mouse controller MUSCTR. The image picture (pixel image PIXIMG)drawn as the line object is similarly recorded in the pixel bufferPIXBUF.

3) The layout manager LOMNG in FIG. 31 sets the layout positions andpresentation sizes on the graphic surface GRPHSF (on the graphic planeGRPHPL) of various decoded image pictures (pixel images PIXIMG) whichare temporarily stored. As shown in FIG. 32 (3), the drawings (a), (b),and (c), the text image “ABC”, and the figure drawn by the API commandare presented on the identical graphic surface GRPHSF (on the graphicplane GRPHPL) to overlap each other. In this embodiment, by specifyingthe transparency to each image picture (pixel image PIXIMG), a figure onthe reverse side of the overlapping portion is seen through. Thetranslucency of each image picture (pixel image PIXIMG) is defined bythe alpha value (alpha information). The layout manager LOMNG cancalculate the alpha value for each image picture (pixel image PIXIMG),and can set so that the reverse side of the overlapping portion can beseen through. In the example of FIG. 32 (3), the alpha value of (a) and(b) is set to be 40% (40% transparency).

4) The composite image picture (frame image) on the graphic surfaceGRPHSF (on the graphic plane GRPHPL) is sent from the layout managerLOMNG to the AV renderer AVRND.

As shown in FIG. 1, the information recording and playback apparatus 1includes the advanced content playback unit ADVPL. The advanced contentplayback unit ADVPL includes the presentation engine PRSEN, as shown inFIG. 14. Also, the presentation engine PRSEN includes the advancedsubtitle player ASBPL, as shown in FIG. 30. The structure in theadvanced subtitle player ASBPL will be described below.

As shown in FIG. 39, the sub-picture plane SBPCPL which presents asub-picture and advanced subtitle ADSBT exists on the presentationframe. The advanced subtitle player ASBPL outputs a subtitle image to bepresented on the sub-picture plane SBPCPL. As shown in FIG. 33, theadvanced subtitle player ASBPL comprises the parser PARSER, declarativeengine DECEN, and layout manager LOMNG.

Advanced Subtitle Player:

The Advanced Subtitle Player outputs Subtitle image to the SubpicturePlane. Advanced Subtitle is a subset of Advanced Application, so theAdvanced Subtitle Player has subset modules of the Advanced ApplicationManager and the Advanced Application Presentation Engine. The AdvancedSubtitle Player consists of Parser, Declarative Engine and Layout Engine(see FIG. 33).

Parser reads Markup from the File Cache, and then the parsed results aretransferred to Declarative Engine.

Declarative Engine manages the presentation information of layout, styleand timing of Advanced Subtitle.

Along with the progress of Title Timeline, Declarative Engine sendscommands to Layout Manager to generate Subpicture image. Layout Managerinvokes Font Rendering System to generate text image in accordance withthe information comes from Declarative Engine, and then locatesgenerated image on proper position in Subpicture frame image. At thistime, a required graphic image is stored at Pixel Buffer, and a frameimage is created on the Graphics Surface in the Layout Manager. Finally,outputs a frame image onto the Subpicture Plane.

More intelligible explanations will be provided below.

The advanced subtitle ADSBT is positioned as a subset of the advancedapplication ADAPL. Therefore, the advanced subtitle player ASBPL hassubset modules of the advanced application manager ADAMNG (see FIG. 28)and the advanced application presentation engine AAPEN (see FIG. 30).That is, as shown in FIG. 30, the advanced subtitle player ASBPL andadvanced application presentation engine AAPEN share one pixel bufferPIXBUF. As shown in FIG. 33, the layout manager LOMNG in the advancedsubtitle player ASBPL shares that in the advanced applicationpresentation engine AAPEN, as shown in FIG. 31, and the declarativeengine DECEN in the advanced subtitle player ASBPL shares that in theadvanced application manager ADAMNG, as shown in FIG. 28.

Initially, the parser PARSER in the advanced subtitle player ASBPL readsa markup file MRKUPS of the advanced subtitle stored in the file cacheFLCCH in the data cache DTCCH, and parses its contents. The parserPARSER transfers the parsing result to the declarative engine DECEN. Thedeclarative engine DECEN manages presentation information associatedwith the presentation format (style) and presentation timing of thelayout of the advanced subtitle ADSBT. In order to generate a subtitleimage (an image of telop text or the like) in synchronism with the timeprogress on the title timeline TMLE, the declarative engine DECENtransfers various commands to the layout manager LOMNG. In accordancewith the command information transferred from the declarative engineDECEN, the layout manager LOMNG activates the font rendering systemFRDSTM in the presentation engine PRSEN to generate a text image (imagepicture). After that, the layout manager LOMNG lays out the generatedtext image (image picture) at an appropriate position in a sub-pictureframe image (sub-picture plane SBPCPL). At this time, the generated textimage (image picture) is recorded on the pixel buffer PIXBUF, andundergoes layout processing on the sub-picture plane SBPCPL by thelayout manager LOMNG. The image picture (frame image) as the processingresult is output onto the sub-picture plane SBPCPL.

As shown in FIG. 30, the font rendering system FRDSTM is included in thepresentation engine PRSEN, and generates a text image (image picture) inresponse to requests from the advanced application presentation engineAAPEN and the advanced subtitle player ASBPL. FIG. 34 shows thestructure in the font rendering system FRDSTM.

Font Rendering System:

The Font Rendering System is responsible for generating text image inresponse to the request from the Advanced Application PresentationEngine or the Advanced Subtitle Player. “The Font Rendering System usesPixel Buffer, in order to decode text images. Font Type that FontRendering System supports is Open Type font.

More intelligible explanations will be provided below.

The font rendering system FRDSTM includes a decoder DECDER whichincorporates a font engine FONTEN, a rasterizer RSTRZ, and a font cacheFONTCC. The advanced subtitle ADSBT information or advanced applicationADAPL information read out from the font cache FLCCH is used to generatea text image (image picture) in the decoder DECDER using the font engineFONTEN. The presentation size of the generated text image (imagepicture) in the sub-picture plane SBPCPL (see FIG. 39) is set by ascaler SCALER in the rasterizer RSTRZ. After that, the transparency ofthe generated text image (image picture) is designated by an alpha mapgeneration AMGRT. The generated text image (image picture) istemporarily stored in the font cache FONTCC as needed, and is read outfrom the font cache FONTCC at a required timing, thus presenting thepicture. The transparency of the generated text image (image picture) isspecified by the alpha map generation AMGRT. As a result, a videopicture on the sub video plane SBVDPL or main video plane MNVDPL (seeFIG. 39) located below the overlapping portion of the text image can beseen through.

In this embodiment, the alpha map generation AMGRT not only can evenlyset the transparency of the overall text image (image picture) generatedby the decoder DECDER but also can partially change the transparency inthe text image (image picture). In this embodiment, in the process ofconversion from a text character into a text image (image picture) bythe decoder DECDER, the pixel buffer PIXBUF can be used. In thisembodiment, a font type supported by the font rendering system FRDSTM isbasically an open type (conventionally, generally used font type).However, this embodiment is not limited to such specific type, and atext image can be generated in the form of a font type corresponding toa font file FONT using the font file FONT located under the advancedelement directory ADVEL shown in FIG. 11.

As shown in FIG. 14, the advanced content playback unit ADVPL includesthe presentation engine PRSEN, which includes the secondary video playerSCDVP (see FIG. 30). The internal structure of the secondary videoplayer SCDVP in this embodiment will be described below using FIG. 35.

Secondary Video Player:

Secondary Video Player is responsible to play Substitute Audio Video,Substitute Audio and Secondary Audio Video which are carried bySecondary Video Set. These Presentation Objects may be stored on Disc,Network Server, Persistent Storage and File Cache. In order to playSecondary Video Set from disc while Primary Video Set is playing backfrom disc, it needs to be stored Secondary Video Set on File Cache inadvance to be played by Secondary Video Player. The contents fromNetwork Server should be stored in Streaming Buffer before feeding it toDemux module in Secondary Video Player to avoid data lack because of bitrate fluctuation of network transporting path. For relatively shortlength contents, may be stored on File Cache before being read bySecondary Video Player. Secondary Video Player consists of SecondaryVideo Playback Engine and Demux. Secondary Video Player connects properdecoders in Decoder Engine according to presentation stream types inSecondary Video Set (see FIG. 35).

Secondary Video Playback Engine:

Secondary Video Playback Engine is responsible to control all functionalmodules. In Secondary Video Player in response to the request from Playlist Manager in Navigation Manager. Secondary Video Playback Enginereads and analyses TMAP file to find proper reading position of S-EVOB.

Demux:

Demux reads and distributes S-EVOB stream to proper decoder modules inDecoder Engine, which are connected to Secondary Video Player. Demux hasalso responsibility to output each PCK in S-EVOB in accurate SCR timing.When S-EVOB consists of single stream of video or audio, Demux justsupplies it to the decoder in accurate SCR timing.

More intelligible explanations will be provided below.

As shown in FIG. 10, the secondary video set SCDVS includes a substituteaudio video SBTAV, substitute audio SBTAD, and secondary audio videoSCDAV, and the secondary video player SCDVP performs playback processingof them. Playback presentation objects of the secondary video set SCDVScan be stored in any of the information storage medium DISC, networkserver NTSRV, and persistent storage PRSTR. As in the presentation frameexample shown in FIG. 16, when the primary video set PRMVS and secondaryvideo set SCDVS are simultaneously presented on a single frame, playbackpresentation objects of the secondary video set SCDVS must be stored inadvance in the file cache FLCCH, and must be played back from the filecache FLCCH. For example, when the primary video set PRMVS and secondaryvideo set SCDVS are stored at different locations in the singleinformation storage medium DISC, if they are to be simultaneously playedback, an optical head (not shown) included in the information recordingand playback unit 2 in the information recording and playback apparatus1 shown in FIG. 1 is required to repeat access control between therecording locations of the primary video set PRMVS and secondary videoset SCDVS, and they become hard to be continuously played back due tothe influence of the access time of the optical head. To avoid this, inthis embodiment, the secondary video set SCDVS is stored in the filecache FLCCH to allow the optical head in the information recording andplayback unit 2 to play back only the primary video set PRMVS. As aresult, the number of times of access of the optical head is greatlyreduced, and the primary video set PRMVS and secondary video set SCDVScan be continuously presented on a single frame. When the secondaryvideo player SCDVP executes playback processing of the secondary videoset SCDVS recorded in the network server NTSRV, the secondary video setSCDVS must be stored in the streaming buffer STRBUF in the data cacheDTCCH in advance before data is transferred to the demultiplexer DEMUXin the secondary video player SCDVP (see FIG. 25). In this way,depletion of data to be transferred can be prevented even when thetransfer rate of the network route has varied. Basically, the secondaryvideo set SCDVS stored in the network server NTSRV is stored in advancein the streaming buffer STRBUF in the data cache DTCCH. However, thisembodiment is not limited to this. When the data size of the secondaryvideo set SCDVS is small, the secondary video set SCDVS can be stored inthe file cache FLCCH in the data cache DTCCH. In this case, thesecondary video set SCDVS is transferred from the file cache FLCCH inthe data cache DTCCH to the demultiplexer DEMUX. As shown in FIG. 35,the secondary video player SCDVP includes a secondary video playbackengine SVPBEN and the demultiplexer DEMUX. As shown in FIG. 10, a mainaudio MANAD and main video MANVD are multiplexed in the secondary videoset SCDVS for respective packs, and data are recorded (a sub video SUBVDand sub audio SUBAD are also multiplexed and recorded for respectivepacks). The demultiplexer DEMUX demultiplexes these data for respectivepacks, and transfers the packs to the decoder engine DCDEN. That is,sub-picture packs SP_PCK extracted by the demultiplexer DEMUX aretransferred to the sub-picture decoder SPDEC, and sub audio packs AS_PCKare transferred to the sub audio decoder SADEC. Sub video packs VS_PCKare transferred to the sub video decoder SVDEC, main audio packs AM_PCKare transferred to the main audio decoder MADEC, and main video packsVM_PCK are transferred to the main video decoder MVDEC.

The secondary video playback engine SVPBEN shown in FIG. 35 executescontrol processing of all functional modules in the secondary videoplayer SCDVP. In the control of the secondary video playback engineSVPBEN, processing is executed in response to a request from theplaylist manager PLMNG in the navigation manager NVMNG shown in FIG. 28.When the secondary video set SCDVS is played back and presented, theplaylist PLLST refers to the time map file STMAP of the secondary videoset SCDVS, as shown in FIG. 12, as has been described previously. Thesecondary video playback engine SVPBEN plays back the time map fileSTMAP of the secondary video set SCDVS, and interprets its contents,thus calculating an optimal playback start position of secondaryenhanced video object data S-EVOB and issuing an access instruction tothe optical head in the information recording and playback unit 2 (seeFIG. 1).

The demultiplexer DEMUX in the secondary video player SCDVP plays back asecondary enhanced video object data stream S-EVOB, demultiplexes itinto packs, and transfers data to various decoders in the decoder engineDCDEN for respective packs. Upon transferring packs to the decoderengine DCDEN, the demultiplexer DEMUX transfers them to various decodersat the timings of DTS (decoding time stamp) data described in respectivepacks in synchronism with system clock timings (SCR timings) of astandard clock included in the decoder engine DCDEN.

The advanced content playback unit ADVPL shown in FIG. 1 includes thepresentation engine PRSEN, as shown in FIG. 14. As shown in FIG. 30, thepresentation engine PRSEN includes the primary video player PRMVP. FIG.36 shows the internal structure of the primary video player PRMVP.

Primary Video Player:

Primary Video Player is responsible to play Primary Video Set. PrimaryVideo Set shall be stored on Disc.

Primary Video Player consists of DVD Playback Engine and Demux. PrimaryVideo Player connects proper decoder modules in Decoder Engine accordingto presentation stream types in Primary Video Set (see FIG. 36).

DVD Playback Engine:

DVD Playback Engine is responsible to control all functional modules inPrimary Video Player in response to the request from Play list Managerin Navigation Manager. DVD Playback Engine reads and analyses IFO andTMAP(s) to find proper reading position of P-EVOB and controls specialplayback features of Primary Video Set, such as multi angle,audio/Subpicture selection and sub video/audio playback.

Demux:

Demux reads and distributes P-EVOB stream to proper decoder modules inDecoder Engine, which are connected to Primary Video Player. Demux alsohas a responsibility to output each PCK in P-EVQB in accurate SCR timingto each decoder. For multi angle stream, it reads proper interleavedblock of P-EVOB on Disc or Persistent Storage in accordance withlocation information in the TMAP or navigation pack (NV PCK). Demux isresponsible to provide the selected audio pack (AM_PCK or AS PCK) to theaudio decoder (main audio decoder or sub audio decoder). And also it isresponsible to provide the selected Subpicture pack (SP PCK) toSubpicture decoder.

More intelligible explanations will be provided below.

In this embodiment, the primary video player PRMVP supports playback ofthe primary video set PRMVS. The primary video set PRMVS is stored inonly the information storage medium DISC. As shown in FIG. 36, theprimary video player PRMVP includes a DVD playback engine DPBKEN anddemultiplexer DEMUX. As shown in FIG. 10, various data types of theprimary video set PRMVS include those from a main video MANVD tosub-picture SUBPT. The demultiplexer DEMUX is connected to correspondingdecoders in the decoder engine DCDEN in accordance with these variousdata types. That is, sub-picture packs SP_PCK included in primaryenhanced video object data P-EVOB are transferred to the sub-picturedecoder SPDEC, and sub audio packs AS_PCK are transferred to the subaudio decoder SADEC. Sub video packs VS_PCK are transferred to the subvideo decoder SVDEC, main audio packs AM_PCK are transferred to the mainaudio decoder MADEC, and main video packs VM_PCK are transferred to themain video decoder MVDEC.

As shown in FIG. 28, the navigation manager NVMNG includes the playlistmanager PLMNG which interprets the contents of the playlist file PLLST.The DVD playback engine DPBKEN shown in FIG. 36 supports control ofevery functional modules in the primary video player PRMVP in responseto a request from the playlist manager PLMNG. The DVD playback engineDPBKEN interprets the contents of management information associated withplayback (the playlist file PLLST and video title set information ADVTSIshown in FIG. 11), and controls access to the playback start position inthe primary enhanced video object data P-EVOB using the time map filePTMAP located under the primary video set directory PRMAV. In addition,the DVD playback engine DPBKEN controls special playback functions ofthe primary video set PRMVS such as switching of multi-angle, audio, andsub-picture tracks (streams), two-window simultaneous playback using asub video SUBVD and sub audio SUBAD, and the like.

The demultiplexer DEMUX transfers various stream (pack) data distributedand allocated in the primary enhanced video object data P-EVOB tocorresponding decoders in the decoder engine DCDEN connected to theprimary video player PRMVP to make them execute decode processing.Although not shown, each pack PCK in the primary enhanced video objectdata P-EVOB includes DTS (decoding time stamp) information to transfereach pack information to the corresponding decoder at the designated DTStime. For a multi-angle stream, the demultiplexer DEMUX supportsprocessing for playing back appropriate data in interleaved blocks ofthe primary enhanced video object data P-EVOB recorded in theinformation storage medium DISC in correspondence with information inthe time map file PTMAP or information of navigation packs NV_PCK of theprimary video set.

As shown in FIG. 14, the advanced content playback unit ADVPL in thisembodiment includes the presentation engine PRSEN, which includes thedecoder engine DCDEN, as shown in FIG. 30. The decoder engine DCDENincludes five different decoders, i.e., the sub audio decoder SADEC, subvideo decoder SVDEC, main audio decoder MADEC, main video decoder MVDEC,and sub-picture decoder SPDEC, as shown in FIG. 37.

Decoder Engine:

Decoder Engine is an aggregation of five kinds of decoders, SubpictureDecoder, Sub Audio Decoder, Sub Video Decoder, Main Audio Decoder andMain Video Decoder. Each decoder module has own input buffer module. ForSubpicture Decoder, Sub Video Decoder and Main Video Decoder, each ofthem has scaler function for output frame. Each decoder is connected andcontrolled by the playback engine of the connected Player, SecondaryVideo Playback Engine in Secondary Video Player or DVD Playback enginein Primary Video Player (See FIG. 37).

The decode function modules for each presentation stream type can beconnected to Secondary Video Player or Primary Video Player depends onthe current playback combination of presentation streams.

Subpicture Decoder:

The Subpicture Decoder is responsible to decode Subpicture stream inresponse to request from the DVD Playback Engine. The output plane iscalled Subpicture plane and it shall be exclusively shared between theoutput from the Advanced Subtitle Player and the Subpicture Decoder.

Sub Audio Decoder:

The Sub Audio Decoder supports decoding the audio stream which is calledas ‘sub audio’. Number of channels of sub audio is up to 2 ch and itssampling rate is up to 48 kHz. The output audio stream of Sub AudioDecoder is called as ‘sub audio stream’.

Sub Video Decoder:

The Sub Video Decoder supports video stream which is called as ‘subvideo’. The Sub Video Decoder support SD resolution is mandatory, andsupport HD resolution is optional. The output video plane of Sub VideoDecoder is. called as ‘sub video plane’.

Scaling Function in Sub video decoder:

Scaling function in Sub Video decoder consists of three kinds offunctionality as follows:

1) Scaling of Source Picture Resolution to Expected Display Resolution

If the source picture resolution is different from expected displayresolution, scaling for up-sampling the Sub Video shall be performed.

2) Scaling of Non-square Pixel to Square Pixel

Since pixel aspect ratio is non-square pixel if Sub Video is SD, the SubVideo shall be scaled horizontally to obtain square pixel image.

3) Scaling by API Defined in Annex Z

This scaling corresponds to the layout of Sub Video. This scaling willnot change the aspect ratio of Sub Video. The scaling ratio shall bespecified by API when the Sub Video is composed to Aperture.

Main Audio Decoder:

The Main Audio Decoder can support up to 7.1 ch multi channel audio andup to 192 kHz sampling rate, which is called as ‘main audio’. The outputaudio stream of the Main Audio Decoder is called as ‘main audio stream’.

Main Video Decoder:

The Main Video Decoder can support HD resolution video stream which iscalled as ‘main video’. The output video plane of the Main Video Decoderis called as ‘main video plane’.

The Main Video Decoder decodes main video stream and locates itspecified size of the Graphic Plane which is called as ‘Aperture’.Decoded main video is scaled by the scaler and located proper positionon canvas in accordance with the position and scale information from theNavigation Manager. The information also includes outer frame colorinformation. This is applied to the outside area from main video incanvas.

The default color value of outer frame is “16, 128, 128” (=black)

Scaling Function in Main Video Decoder:

Scaling function in Main Video decoder consists of three kinds offunctionalities as follows:

1) Scaling of Source Picture Resolution to Expected Display Resolution

If the source picture resolution is different from expected displayresolution, scaling for up-sampling the Main Video shall be performed.

2) Scaling of Non-square Pixel to Square Pixel

Since pixel aspect ratio is non-square pixel if Main Video is SD, theMain Video shall be scaled horizontally to obtain square pixel image.

3) Scaling by API Defined in Annex Z

This scaling corresponds to the layout of Main Video. This scaling willnot change the aspect ratio of Main Video. It is allowed not to specifythe scaling ratio by API. In this case, the default behavior is to scaleMain Video to fit to full screen. In case of 4:3 source materials, thereare vertical side panels on both left and right side so that thescaled-up image is placed in the middle of the Aperture. Morespecifically, if the size of Aperture is 1920×1080, 240 pixels sidepanels are put on both left and right side. If the size of Aperture is1280×720, 160 pixels side panels are put on both left and right side.

More intelligible explanations will be provided below.

A sub audio buffer SABUF, sub video buffer SVBUF, main audio bufferMABUF, main video buffer MVBUF, and sub-picture buffer SPBUF arerespectively connected to these decoders. Also, scalers SCALER, each ofwhich sets the presentation size and presentation location on the frame,are connected to the sub video decoder SVDEC, main video decoder MVDEC,and sub-picture decoder SPDEC. The respective decoders are connected toand controlled by the DVD playback engine DPBKEN in the primary videoplayer PRMVP, and are also connected to and controlled by the secondaryvideo playback engine SVPEN in the secondary video player SCDVP.

The primary video set PRMVS and secondary video set SCDVS have variousdata described in a data type column in FIG. 10.

Respective data included in the primary video set PRMVS aredemultiplexed into five types of streams and these streams are outputfrom the demultiplexer DEMUX in the primary video player PRMVP. Theprocessing method of respective streams will be described below. Mainvideo packs VM_PCK that record data of a main video MANVD undergo decodeprocessing in the main video decoder MVDEC via the main video bufferMVBUF. Main audio packs AM_PCK that record data of a main audio MANADundergo decode processing in the main audio decoder MADEC via the mainaudio buffer MABUF. Sub video packs VS PCK that record data of a subvideo SUBVD undergo decode processing in the sub video decoder SVDEC viathe sub video buffer SVBUF. Sub audio packs AS_PCK that record data of asub audio SUBAD undergo decode processing in the sub audio decoder SADECvia the sub audio buffer SABUF. Finally, sub-picture packs SP_PCK thatrecord data of a sub-picture SUBPT undergo decode processing in thesub-picture decoder SPDEC via the sub-picture buffer SVBUF.

Likewise, respective data included in the secondary video set SCDVS aredemultiplexed into four types of streams and are output from thedemultiplexer DEMUX in the secondary video player SCDVP. The processingmethod of respective streams will be described below. Main audio packsAM_PCK that record data of a main audio MANAD included in a substituteaudio SBTAD or substitute audio video SBTAV undergo decode processing inthe main audio decoder MADEC via the main audio buffer MABUF. Main videopacks VM_PCK that record data of a main video MANVD in the substituteaudio video SBTAV undergo decode processing in the main video decoderMVDEC via the main video buffer MVBUF. Sub video packs VS_PCK thatrecord data of a sub video SUBVD in a secondary audio video SCDAVundergo decode processing in the sub video decoder SVDEC via the subvideo buffer SVBUF. Finally, sub audio packs AS_PCK that record data ofa sub audio SUBAD in the secondary audio video SCDAV undergo decodeprocessing in the sub audio decoder SADEC via the sub audio bufferSABUF.

In response to a request from the DVD playback engine DPBKEN in theprimary video player PRMVP or the secondary video playback engine SVPBENin the secondary video player SCDVP shown in FIG. 37, the sub-picturedecoder SPDEC executes decode processing of a sub-picture stream.Respective frame layers on the presentation frame will be explainedusing FIG. 39. The output from the sub-picture decoder SPDEC ispresented on the sub-picture plane SBPCPL. In this embodiment, in thesub-picture plane SBPCPL, the decode results of a sub-picture SUBPT andadvanced subtitle ADSBT are commonly (alternatively) presented. Theadvanced subtitle ADSBT is decoded and output by the advanced subtitleplayer ASBPL shown in FIG. 30.

The sub audio decoder SADEC processes decoding of an audio stream calleda sub audio SUBAD. In this embodiment, the sub video decoder SVDEC cansupport up to a maximum of two channels, and sets a sample rate of 48kHz or less. By holding down the performance of the sub audio decoderSADEC in this way, the manufacturing cost in the decoder engine DCDENcan be reduced. An audio stream output from the sub audio decoder SADECis called a sub audio stream SUBAD.

The sub video decoder SVDEC supports decode processing of a video streamcalled a sub video SUBVD. The sub video decoder SVDEC indispensablysupports SD (standard definition) resolutions, and can also support HD(high definition) resolutions. Data output from the sub video decoderSVDEC is presented on the sub video plane SBVDPL (see FIG. 39).

The scaler SCALER connected to the output side of the sub video decoderSVDEC has the following three functions.

1) The scaler SCALER changes the resolution of a sub video SUBVD incorrespondence with the display resolution required to output. When theideal resolution of the sub video SUBVD upon outputting to thewide-screen TV monitor 15 shown in FIG. 1 is determined, the scalerSCALER changes the resolution of the sub video SUBVD in correspondencewith the resolutions of every wide-screen TV monitors 15.

2) Scaling Function Corresponding to Aspect Ratio upon Presentation

If the aspect ratio of the frame to be presented on the wide-screen TVmonitor 15 is different from that to be originally presented by the subvideo SUBVD, the scaler SCALER performs aspect ratio conversion toexecute processing for making optimal presentation on the wide-screen TVmonitor 15.

3) Scaling Processing Based on API Command

As in the example shown in FIG. 39, when the independent window 32 for acommercial is presented on a part of a single frame as the sub videoSUBVD, the size of the independent window 32 for a commercial (sub videoSUBVD) can be set by an API command compliant to the advancedapplication ADAPL. In this manner, according to this embodiment, theoptimal presentation frame size is set in the scaler SCALER based on theAPI command. In this case, the aspect ratio of the sub video SUBVD whichis originally set remains unchanged, and only the entire size ischanged.

In this embodiment, the main audio decoder MADEC supports decoding of amulti-channel audio up to 7.1 channels, and an audio up to a samplingrate of 192 kHz. Data decoded by the main audio decoder MADEC is calleda main audio MANAD.

The main video decoder MVDEC can support HD (high definition)resolutions, and decoded video information is called a main video MANVD.In this manner, since the main video decoder MVDEC can implementdecoding of high resolutions, high picture quality that meets the usersdemand can be attained. Since the sub video decoder SVDEC is provided inaddition to this decoder, two windows can be presented at the same time.Also, by limiting the decode performance of the sub video decoder SVDEC,the price of the decoder engine DCDEN can be suppressed. The framedecoded by the main video decoder MVDEC is presented on the main videoplane MNVDPL (see FIG. 39). The main video decoder MVDEC decodes a mainvideo MANVD. In this embodiment, the presentation size of the decodedvideo information must match the size called an aperture APTR (see FIG.40) on the graphic plane GRPHPL (see FIG. 39). In this embodiment, thedecoded main video MANVD is scaled to an appropriate size on theaperture APTR and is laid out at an appropriate position on the apertureAPTR by the scaler SCALER in correspondence with position informationPOSITI and scale information SCALEI (see FIG. 41) supplied from thenavigation manager NVMNG. The scale information transferred from thenavigation manager NVMNG includes information for the color of a framepart that presents the border of the frame of the main video planeMNVDPL. In this embodiment, the color of the border is set as 10, 0, 0”(black) in a default state.

The scaler SCALER connected to the output side of the main video decoderMVDEC has the following three functions.

1) The scaler SCALER changes the resolution of a main video MANVD incorrespondence with the display resolution required to output. When theideal resolution of the main video MANVD upon outputting to thewide-screen TV monitor 15 shown in FIG. 1 is determined, the scalerSCALER changes the resolution of the main video MANVD in correspondencewith the resolutions of every wide-screen TV monitors 15.

2) Scaling Function Corresponding to Aspect Ratio upon Presentation

If the aspect ratio of the frame to be presented on the wide-screen TVmonitor 15 is different from that to be originally presented by the mainvideo MANVD, the scaler SCALER performs aspect ratio conversionprocessing to make optimal presentation on the wide-screen TV monitor15.

3) Scaling Processing Based on API Command

When the main video MANVD (main title 31) is to be presented, as shownin FIG. 39, the size of the main video MANVD (main title 31) can bedesignated by an API command compliant to the advanced applicationADAPL. In this manner, when an optimal frame size is set in the scalerSCALER, the aspect ratio of the main video MANVD which is originally setremains unchanged, and only the entire size is changed (conversion to aspecific aspect ratio is inhibited depending on the API command). Inthis case, the main video MANVD is presented on a full screen in adefault state. For example, in case of the aspect ratio=4:3, when aframe having that aspect ratio is presented on the wide screen, sinceits width becomes narrow, a presentation frame having a narrow width ispresented at the center on the wide screen. Especially, when the size ofthe aperture APTR is set to “1920×1080” or “1280×720” (wide screencompatible), a full-size frame is displayed on the wide screen.

As shown in FIG. 1, the information recording and playback apparatus 1includes the advanced content playback unit ADVPL, which includes the AVrenderer AVRND, as shown in FIG. 14. The AV renderer AVRND includes agraphic rendering engine GHRNEN and audio mixing engine ADMXEN, as shownin FIG. 38.

AV Renderer:

The AV Renderer has two responsibilities. One is to composite graphicplanes come from the Presentation Engine and the Navigation Manager andoutput composite video signal. The other is to mix PCM streams from thePresentation Engine and output mixed audio signal. The AV Rendererconsists of the Graphic Rendering Engine and the Sound Mixing Engine(see FIG. 38).

Graphic Rendering Engine:

The Graphic Rendering Engine can receive four graphic plane inputs fromthe Presentation Engine. The Graphics Rendering Engine has the CursorPlane and updates it in accordance with cursor-image and positioninformation from the Navigation Manager. The Graphic Rendering Enginecomposites these five planes in accordance with control information fromthe Navigation Manager, then output composite video signal.

Audio Mixing Engine:

The Audio Mixing Engine can receive three LPCM streams from thePresentation Engine. The Audio Mixing Engine mixes these three LPCMstreams in accordance with mixing level information from the NavigationManager, and then outputs mixed audio signal.

More intelligible explanations will be provided below.

The graphic rendering engine GHRNEN performs composition processing ofpictures on the graphic plane GRPHPL (see FIG. 39) based on informationcoming from the navigation manager NVMNG and presentation engine PRSENshown in FIG. 14. The audio mixing engine ADMXEN mixes audio information(PCM streams) coming from the presentation engine PRSEN and outputsmixed audio information.

A frame to be presented to the user is configured by five planes, i.e.,a cursor plane CRSRPL, graphic plane GRPHPL, sub-picture plane SBPCPL,sub video plane SBVDPL, and main video plane MNVDPL, as will bedescribed in FIG. 39 in detail. These five planes undergo compositionprocessing on the graphic rendering engine GHRNEN. The presentationengine PRSEN shown in FIG. 38 generates pictures on the respectiveplanes, i.e., the graphic plane GRPHPL, sub-picture plane SBPCPL, subvideo plane SBVDPL, and main video plane MNVDPL, and transfers them tothe graphic rendering engine GHRNEN. The graphic rendering engine GHRNENnewly generates a cursor plane CRSRPL. The graphic rendering engineGHRNEN generates a cursor image CRSIMG, and lays it out on the cursorplane CRSRPL based on position information of the cursor image CRSIMG ofthe cursor sent from the navigation manager NVMNG. As a result, thegraphic rendering engine GHRNEN executes composition processing of thefive planes based on control information from the navigation managerNVMNG, and then outputs a composite picture as a video signal.

The audio mixing engine ADMXEN simultaneously can receive linear PCMstreams up to a maximum of three types sent from the presentation enginePRSEN and can mix these audio streams. At this time, the audio mixingengine ADMXEN sets a tone volume for each linear PCM stream based onmixing level information sent from the navigation manager NVMNG, andthen outputs the mixed stream.

As shown in FIG. 39, on the presentation screen, the frame is configuredby five frame layers, i.e., the cursor plane CRSRPL, graphic planeGRPHPL, sub-picture plane SBPCPL, sub video plane SBVDPL, and main videoplane MNVDPL. In this embodiment, one frame layer as the cursor planeCRSRPL is generated in the graphic rendering engine GHRNEN (see FIG. 41)in the AV renderer AVRND. Four frame layers, i.e., the graphic planeGRPHPL, sub-picture plane SBPCPL, sub video plane SBVDPL, and main videoplane MNVDPL in FIG. 39, are generated in the presentation engine PRSEN(see FIG. 41). The frame rates of the four frame layers, i.e., thegraphic plane GRPHPL, sub-picture plane SBPCPL, sub video plane SBVDPL,and main video plane MNVDPL, which are input to the graphic renderingengine GHRNEN and are generated in the presentation engine PRSEN, can berespectively independently set. More specifically, video informationoutput from the advanced application presentation engine AAPEN in thepresentation engine PRSEN, that output from the advanced subtitle playerASBPL, that output from the secondary video player SCDVP, and thatoutput from the primary video player PRMVP can have unique frame rates.The main video plane MNVDPL shown in FIG. 39 is obtained as an outputwhich is output from the primary video player PRMVP shown in FIG. 41 or30 and goes through the decoder engine DCDEN and the scaler SCALER. Theframe layer of the sub video plane SBVDPL is generated as an output ofthe scaler SCALER after it is output from the secondary video playerSCDVP and goes through the decoder engine DCDEN. The sub video planeSBVDPL is generated by selecting one of the output from the advancedsubtitle player ASBPL shown in FIG. 41 or 30, and the frame which isoutput from the sub video decoder SVDEC and goes through the scalerSCALER. The graphic plane GRPHPL is obtained as the output from theadvanced application presentation engine AAPEN.

The region definition in the graphic plane GRPHPL will be describedbelow using the example of FIG. 39. A composite frame shown on the lowerside of FIG. 39 represents a full-size frame to be viewed by the user.The frame dimension size (resolution) to be optimally presented variesdepending on a wide screen, standard screen, or the like with respect tothe screen of the television. In this embodiment, an optimal frame sizeto be presented to the user is defined by the graphic plane GRPHPL. Thatis, the optimal frame size to be presented to the user on the graphicplane GRPHPL is set based on the number of scan lines and the number ofdots. In this case, the optimal frame size (the number of pixels) to bepresented to the user is defined as the size of the aperture APTR(graphic region) on the graphic plane GRPHPL. Therefore, when the frameto be presented to the user is a high-resolution frame, the size of theaperture APTR (graphic region) on the graphic plane GRPHPL becomeslarge, and when the frame size (resolution) to be presented to the useris a conventional standard size, the size of the aperture APTR (graphicregion) becomes smaller compared to the resolution (the total number ofpixels). Unlike the example shown in FIG. 39, when the main video MANVDof the primary audio video PRMAV is presented on the full screen, i.e.,over the full user frame, the frame size on the main video plane MNVDPLcompletely matches the size of the aperture APTR (graphic region) on thegraphic plane GRPHPL. As shown in FIG. 39, when the advanced applicationADAPL from the help icon 33 to the FF button 38 is presented together onthe lower region of the composite frame, presentation control can befacilitated by defining a region (application region APPRGN) thatpresents the advanced application ADAPL together within the apertureAPTR (graphic region). For this reason, in this embodiment, theapplication region APPRGN can be defined as a region for presenting aplurality of elements included in the advanced application ADAPLtogether. In this embodiment, a plurality of application regions APPRGNcan be set within the aperture APTR (graphic region) on the graphicplane GRPHPL. Details of the following contents will be described laterusing FIG. 40.

FIG. 39 has explained that the aperture APTR (graphic region) can be seton the graphic plane GRPHPL in correspondence with the frame size of thecomposite frame. Also, FIG. 39 has explained that one or moreapplication regions APPRGN can be set as those for presenting one ormore elements of the advanced application ADAPL within the aperture APTR(graphic region). A detailed explanation will be given using FIG. 40.

On the graphic plane GRPHPL, a coordinate system called a canvas (canvascoordinate system CNVCRD) can be defined. In this embodiment, arectangular region that allows frame composition on the graphic planeGRPHPL can be defined within the canvas coordinate system CNVCRD. Thisrectangular region is called the aperture APTR (graphic region). In thisembodiment, the origin position (0, 0) of the graphic region on thecanvas coordinate system CNVCRD matches the position of an end point(origin) of the aperture APTR (graphic region). Therefore, the positionof the end point (origin) of the aperture APTR (graphic region) is (0,0) on the canvas coordinate system CNVCRD. Units of the X-axis andY-axis of the aperture APTR (graphic region) are respectively identifiedby the number of pixels. For example, when the number of pixels of theframe to be presented to the user is 1920×1080, the correspondingposition (1920, 1080) of the other end of the aperture APTR (graphicregion) can be defined. The size of the aperture APTR (graphic region)can be defined in the playlist PLLST. In this embodiment, the advancedapplication ADAPL can set a unique coordinate system. The uniquecoordinate system can be set in the canvas coordinate system CNVCRD as arectangular region. This rectangular region is called an applicationregion APPRGN. Each advanced application ADAPL can have at least oneapplication region APPRGN. The setting location of the applicationregion APPRGN can be designated by X- and Y-coordinate values on thecanvas coordinate system CNVCRD. That is, as shown in FIG. 40, thelayout location of an application region APPRGN#1 on the aperture APTR(graphic region) is set by the canvas coordinate CNVCRD coordinatevalues within the canvas coordinate system CNVCRD of an end point(origin) of the application region APPRGN#1.

In this embodiment, a specific still picture IMAGE and the like can belaid out in the application region APPRGN as a plurality of elements(application elements or child elements) in the advanced applicationADAPL. As a method of indicating the layout location of each element inthe application region, the X- and Y-values of an independent coordinatesystem in the application region APPRGN can be defined. That is, asshown in FIG. 40, the application region APPRGN#L has a unique intra-application region coordinate system, and the layout location of eachelement can be designated by intra- application region coordinatevalues. For example, as shown in FIG. 40, when the size of theapplication region APPRGN#1 is specified by the range from the origin(0, 0) to (y2, y2), coordinates (x1, y1) upon laying out an openrectangle portion as an element example can designate the position ofthat open rectangle in the application region APPRGN. In this way, theplurality of elements can be laid out using the unique coordinate system(intra- application region coordinate system), and a portion of theelement may protrude from the application region APPRGN. In this case,only the element portion included in the application region APPRGN whichis laid out within the aperture APTR (graphic region) is presented tothe user.

FIG. 41 shows the relationship between the detailed structure in thegraphic rendering engine GHRNEN in the AV renderer AVRND shown in FIG.38, and various engines and players in the presentation engine PRSENshown in FIG. 30.

Video Compositing Model:

Video Compositing Model in this specification is shown in FIG. 41. Thereare five graphic plane inputs in this model. They are Cursor Plane,Graphics Plane, Subpicture Plane, Sub Video Plane and Main Video Plane.Those planes have the coordinate system called ‘Canvas’. The area ofCanvas is from 31^(St) power of −2 to the 31^(st) power of 2 minus 1 inx directions, and from 31^(st) power of −2 to the 31St power of 2 minus1 in y directions. The origin point (0, 0) and direction of x-y axis arecorrespond with each other.

There is a rectangle area which is to be rendered to each plane. Thisrectangle area is called ‘Aperture’.

The origin of Aperture is (0, 0) in Canvas coordinate system. The sizeof Aperture is defined in Play list.

Frame rates of all graphic inputs to Graphic Rendering Engine shall beidentical to video output of a player.

Cursor Plane:

The Cursor Plane is the topmost plane of five graphic planes in theGraphic Rendering Engine in this Video Compositing Model. The CursorPlane is managed by the Overlay Controller in the Graphic RenderingEngine. The Cursor Manager in the Navigation Manager is responsible tosupply cursor image to the Overlay Controller. The Cursor Manager isalso responsible to manage cursor position and update the positioninformation to the Overlay Controller.

More intelligible explanations will be provided below.

In this embodiment, as shown in FIG. 38, the frame to be presented tothe user is configured by five frame layers, and pictures of these framelayers are composited by an overlay controller OVLCNT. A largecharacteristic feature of this embodiment lies in that the frame rate(the number of frames to be presented per sec) of each frame layer inputto the overlay controller OVLCNT can be independently set for each framelayer. With this feature, an optimal frame rate for each frame layer canbe set without being limited by the frame rate, and an effective framecan be presented to the user.

As for the main video plane MNVDPL shown in FIG. 39, one of an outputmoving picture of the primary video player PRMVP and the substituteaudio video STBAV of an output moving picture of the secondary videoplayer SCDVP is selected, and is decoded by the main video decoder MVDECin the decoder engine DCDEN after chroma information CRMI is considered.After that, the frame size and presentation frame position of thedecoded output are set by the scaler SCALER, and the decoded output isinput to the overlay controller OVLCTR.

In the sub video plane SBVDPL, one of the sub video SUBVD output fromthe primary video player PRMVP and that output from the secondary videoplayer SCDVP is input to the sub video decoder in the decoder engineDCDEN in consideration of chroma information CRMI. The presentation sizeand presentation position on the frame of the output moving picturedecoded by that decoder are set by the scaler SCALER, and the outputmoving picture then undergo chroma effect processing CRMEFT. Then, theprocessed output can be input to the overlay controller OVLCTR in atranslucent form in correspondence with alpha information indicating thetransparency that allows to display the main video plane MNVDPL as thelower layer.

As a video picture to be presented on the sub-picture plane SBPCPL, oneof the advanced subtitle ADSBT and the sub-picture SUBPT of the primaryaudio video PRMAV is presented. That is, the advanced subtitle ADSBT isinput to a switch (module) SWITCH after its presentation frame size andpresentation position are set by the layout manager LOMNG in theadvanced subtitle player ASBPL. The sub-picture SUBPT of the primaryaudio video PRMAV is input from the primary video player PRMVP to thesub-picture decoder SPDEC in the decoder engine DCDEN and is decoded bythat decoder, and the presentation frame size and presentation positionof the sub-picture SUBPT are then set by the scaler SCALER. After that,the sub-picture SUBPT is similarly input to the switch SWITCH. In thisembodiment, one of the advanced subtitle ADSBT and the sub-picture SUBPTin the primary audio video PRMAV is selected by selection processing bythe switch SWITCH, and is input to the overlay controller OVLCNT, asshown in FIG. 41.

An output for the graphic plane GRPHPL is directly input to the overlaycontroller OVLCNT after the presentation size and presentation positionare set by the layout manager LOMNG in the advanced applicationpresentation engine AAPEN.

For the cursor plane CRSRPL, the cursor manager CRSMNG in the navigationmanager NVMNG outputs a cursor image CRSIMG and position informationPOSITI indicating the presentation position of the cursor, and the framelayer of the cursor is generated in the overlay controller OVLCTR. Adetailed description of the respective frame layers will be given below.

The cursor plane CRSRPL indicates the frame layer which is located atthe uppermost position of the five frame layers, and its frame isgenerated in the graphic rendering engine GHRNEN. The resolution of thecursor plane CRSRPL matches that of the aperture APTR (graphic region)on the graphic plane GRPHPL (see the explanation of FIG. 39). Asdescribed above, the cursor plane CRSRPL is generated and managed in theoverlay controller OVLCTR in the graphic rendering engine GHRNEN. Thecursor manager CRSMNG included in the navigation manager NVMNG generatesthe cursor image CRSIMG and transfers it to the overlay controllerOVLCTR. The cursor manager CRSMNG manages and generates the positioninformation POSITI that represents the cursor position on the screen,and transfers it to the overlay controller OVLCTR. Also, the cursormanager CRSMNG timely updates the position information POSITI of thecursor in response to the user input, and transfers the updatedinformation to the overlay controller OVLCTR. The cursor image CRSIMGand X- and Y-coordinates (hotspotXY) indicating the position of thecursor in a default state (initial state) depend on the advanced contentplayback unit ADVPL to be used. In this embodiment, the cursor position(X, Y) in the default state (initial state) is set at (0, 0) (originposition). The cursor image CRSIMG and position information POSITIindicating its position are updated by API commands from the programmingengine PRGEN (see FIG. 28) in the advanced application manager ADAMNG.In this embodiment, a maximum resolution of the cursor image CRSIMG isset to be 256×256 pixels. By setting this numerical value, a cursorimage CRSIMG having certain expressive power can be expressed, and thecursor presentation processing speed can be increased by preventing anunnecessarily high resolution setting. The file format of the cursorimage CRSIMG is set by PMG (8-bit color expression). In this embodiment,the cursor image CRSIMG can be switched by an API command between astate in which it is completely presented on the screen or a state inwhich it is 100% transparent and cannot be seen on the screen. Accordingto the position information POSITI sent from the cursor manager CRSMNG,the cursor image CRSIMG is laid out on the cursor plane CRSRPL in theoverlay controller OVLCTR. In addition, the overlay controller OVLCTRcan set alpha mixing (i.e., setting of transparency based on alphainformation) indicating a translucent state with respect to the framesof lower frame layers than the cursor plane CRSRPL.

The graphic plane GRPHPL in the video composition model of thisembodiment corresponds to the second uppermost frame layer generated inthe graphic rendering engine GHRNEN. Under the control of the advancedapplication manager ADAMNG in the navigation manager NVMNG shown in FIG.28, the advanced application presentation engine AAPEN shown in FIG. 41generates the frame of the graphic plane GRPHPL. The advancedapplication manager ADAMNG in the navigation decoder GHCDEC and fontrendering system FRDSTM in the advanced application presentation engineAAPEN shown in FIG. 31 to generate a part of the frame of the graphicplane GRPHPL. Finally, the layout manager LOMNG in the advancedapplication presentation engine AAPEN generates a composite frame of thegraphic plane GRPHPL. The layout manager LOMNG sets the output videosize and presentation location of the frame output from there. The framerate (the number of frames changes per sec) output from the layoutmanager LOMNG can be uniquely set independently of the frame rate ofvideo pictures of, e.g., the main video MANVD, sub video SUBVD, and thelike. In this embodiment, an animation effect can be presented ascontinuation of graphic images such as animation or the like.

When the layout manager LOMNG shown in FIG. 31 sets the frame on thegraphic plane GRPHPL, it cannot set the conditions of alpha information(alpha value) for individual building frames. In this embodiment, analpha value cannot be set for respective graphic images (individualbuilding frames) in the graphic plane GRPHPL, but an alpha value for theentire graphic plane GRPHPL can be set. Therefore, the transparency(alpha value) for lower frames is set to be constant everywhere on thegraphic plane GRPHPL.

The sub-picture plane SBPCPL in the video composition model of thisembodiment corresponds to the third uppermost frame layer generated bythe graphic rendering engine GHRNEN. The sub-picture plane SBPCPL isgenerated by the advanced subtitle player ASBPL or the sub-picturedecoder SPDEC in the decoder engine DCDEN (see FIG. 41). The primaryvideo set PRMVS includes an image of the sub-picture SUBPT having adesignated presentation frame size. When the presentation size of theimage of the sub-picture SUBPT is designated, the sub-picture decoderSPDEC does not change the size of the image of the sub-picture SUBPT bydirectly by the scaler SCALER, and that image is directly transferred tothe graphic rendering engine GHRNEN. As has been described using, e.g.,FIG. 39, the presentation size of the composite frame is specified bythe size of the aperture APTR (graphic region) on the graphic planeGRPHPL. When the main video MANVD on the main video plane MNVDPL ispresented on the composite frame to have the full-screen size, thepresentation size of the main video MANVD matches the size of theaperture APTR (graphic region). In this case, the presentation size ofthe sub-picture SUBPT is automatically determined based on the size ofthe aperture APTR (graphic region). In such case, the output frame ofthe sub-picture decoder SPDEC is directly transferred to the graphicrendering engine GHRNEN without being processed by the scaler SCALER.Conversely, as shown in FIG. 39, when the presentation size of the maintitle 31 on the main video plane MNVDPL is considerably smaller than thesize of the aperture APTR (graphic region), the frame size of thesub-picture SUBPT need be changed accordingly. As described above, whenan appropriate presentation size of the image of the sub-picture SUBPTis not set, the scaler SCALER connected at the output side of thesub-picture decoder SPDEC sets an optimal presentation size andpresentation position of the aperture APTR (graphic region) and thentransfers them to the graphic rendering engine GHRNEN. However, thisembodiment is not limited to the above description. When an appropriatepresentation size of the sub-picture is unknown (not designated), thesub-picture SUBPT can be presented to be aligned to the upper leftcorner of the aperture APTR (graphic region). In this embodiment, theframe rate of the frame to be transferred to the graphic renderingengine GHRNEN of the sub-picture plane SBPCPL can be uniquely setindependently of that of the video output, as shown in FIG. 41. In thisway, since the frame rates of the sub-picture plane SBPCPL and graphicplane GRPHPL that presents the sub-picture SUBPT and the advancedsubtitle ADSBT or advanced application ADAPL are uniquely setindependently of those of the main video plane MNVDPL and sub videoplane SBVDPL, high processing efficiency of the presentation enginePRSEN can be achieved. This is because the main video plane MNVDPL andsub video plane SBVDPL change 50 to 60 fields per sec, but framespresented on the sub-picture plane SBPCPL and graphic plane GRPHPL haverelatively low change rates. For example, an identical frame ispresented for 10 seconds on the graphic plane GRPHPL in some cases. Atthis time, when a picture is transferred to the AV renderer AVRND at theframe rate in accordance with that (50 to 60 fields per sec) of thevideo plane, the loads on the advanced application presentation engineAAPEN and advanced subtitle player ASBPL become too heavy. Hence, byuniquely setting the frame transfer rates, the loads on these engine andplayer can be greatly reduced. The advanced subtitle player ASBPL canprovide the frame of the sub-picture plane SBPCPL corresponding to thesubset of the advanced application ADAPL. As described above, as thesub-picture plane SBPCPL to be transferred to the overlay controllerOVLCTR which generates a composite frame by compositing the respectiveframe layers, one of the outputs from the advanced subtitle player ASBPLand sub-picture decoder SPDEC is used. In this embodiment, based onoverlay information OVLYI transferred from the navigation manager NVMNG,the frame to be presented on the sub-picture plane SBPCPL supplied fromthe presentation engine PRSEN is selected by the switch module SWITCH inthe graphic rendering engine GHRNEN. In this embodiment, thetransparency of the frame to be presented on the sub-picture planeSBPCPL can also be set, so that the frames of the sub video plane SBVDPLand main video plane MNVDPL as its lower layers are seen through thatplane. In this embodiment, an alpha value (alpha information) indicatingtransparency can be set for the sub-picture plane SBPCPL, and a constantalpha value (alpha information) is set everywhere in the sub-pictureplane SBPCPL.

As for the video composition model of this embodiment, the sub videoplane SBVDPL corresponds to the fourth uppermost frame layer to begenerated by the graphic rendering engine GHRNEN (see FIG. 39). The subvideo plane SBVDPL presents a video picture decoded in the sub videodecoder SVDEC in the decoder engine DCDEN. Based on scale informationSCALEI and position information POSITI sent from the navigation managerNVMNG, the scaler SCALER connected on the output side of the sub videodecoder SVDEC sets the frame size and presentation position of the subvideo SUBVD on the sub video plane SBVDPL, and outputs a finalpresentation video size (see FIG. 41). In a default (initial value), ascaling ratio indicated by the scale information SCALEI is set to be 1(to be presented on the full aperture APTR (graphic region) size withoutbeing reduced in size). Also, in a default (initial value), the positioninformation POSITI is set to include an X-position=“0” andY-position=“0” (the origin position of the aperture APTR (graphicregion)), and the alpha value is set to be 100% transparent. Thisembodiment is not limited to this, and the alpha value may be set to100% presentation (transparency=0%). The values of the alpha value,scale information SCALEI, and position information POSITI can be changedby API commands. If a new title is to be presented, these values are setto be default values (initial values). In this embodiment, the outputframe rate of the sub video plane SBVDPL can be uniquely setirrespective of that of a video output of the advanced content playbackunit ADVPL (the frame rate of the main video plane MNVDPL). In this way,for example, by decreasing the frame rate of the sub video plane SBVDPL,continuity upon loading can be guaranteed when a stream is transferredfrom the network server NTSRV. When chroma information CRMI is set inthe sub video stream SUBVD, the edge of a video object in the sub videoSUBVD can be extracted by the chroma effect processing CRMEFT in thegraphic rendering engine GHRNEN. When a video picture includes that of aperson who appears on, e.g., a blue background, chroma key processingallows to set the blue part to be transparent and a person or the likein colors other than blue to be opaque, and to superimpose another frameon the blue part. For example, in case of the example using theexplanatory view of the respective frame layers in FIG. 39, a case willbe examined below wherein, for example, the frame of the main videoplane MNVDPL is presented to have the full frame size of the apertureAPTR (graphic region), and the frame on the sub video plane SBVDPL ispresented to be superimposed on the former frame. At this time, when theframe on the sub video plane SBVDPL includes a video picture in which aspecific person appears on the blue background, only the person on thesub video plane can be presented to be superimposed on a video pictureon the main video plane MNVDPL as the lower layer by setting the chromacolor to be blue, i.e., setting only the blue part to be transparent. Byutilizing the chroma key (chroma effect CRMEFT) technique, processingfor extracting the edge of a specific object on the sub video planeSBVDPL, and superimposing the extracted object on the main video planeMNVDPL as the lower layer by setting a transparent background color canbe done. As described above, in this embodiment, the chroma informationCRMI can be applied to the sub video player module corresponding to thesecondary video player SCDVP or the primary video player PRMVP. Twoalpha values (alpha information) are set for an output video picturefrom the chroma effect CRMEFT. That is, one alpha value is set in a 100%visible state, and a video picture of the sub video plane SBVDPL locatedon the back side cannot be seen through. In the above example, theobject (person) or the like which exists in the blue background and hascolors different from blue has this alpha value. The other alpha valueis set to be 100% transparent, and the blue background has this value inthe above example. This portion allows 100% transparency, and the frameof the main video plane MNVDPL as the lower layer can be seen through.This embodiment is not limited to such specific values, and anintermediate value between 100% and 0% can be set as an alpha value. Anintermediate value of alpha values (alpha information) at respectivepositions of a video picture in the sub video plane SBVDPL whichoverlaps the main video plane MNVDPL as the lowermost layer is set bythe overlay information OVLYI transferred from the navigation managerNVMNG, and is actually set based on the value of that information by theoverlay controller OVLCTR in the graphic rendering engine GHRNEN.

In the video composition model of this embodiment, the main video planeMNVDPL corresponds to the lowermost frame layer to be composited in thegraphic rendering engine GHRNEN. A video picture of the main video planeMNVDPL includes that decoded by the main video decoder MVDEC in thedecoder engine DCDEN. Based on scale information SCALEI and positioninformation POSITI transferred from the navigation manager NVMNG, thescaler SCALER connected to the output stage of the main video decoderMVDEC sets the presentation frame size and presentation position on themain video plane MNVDPL. The size and presentation location as defaults(initial values) of the main video frame on the main video plane MNVDPLmatch the size of the aperture APTR (graphic region). The sizeinformation of the aperture APTR (graphic region) in this embodiment isspecified in configuration information CONFGI in the playlist filePLLST, as shown in FIG. 21, and is designated while the aspect ratio ofthe frame is held in an original state. For example, when the aspectratio of a video picture to be presented on the main video plane MNVDPLis 4:3, and the designated aspect ratio of the aperture APTR (graphicregion) is 16:9, the presentation position of a video picture of themain video plane MNVDPL in the aperture APTR (graphic region) is set sothat the height of the presentation frame matches that of the apertureAPTR (graphic region), and a frame having a narrow width with respect tothe full frame is presented at the central position of the aperture APTR(graphic region) in the widthwise direction of the screen. When videoexpression colors designated by the configuration information CONFGI inthe playlist file PLLST are different from those set on the main videoplane MNVDPL, the presentation color condition as a default (initialvalue) in the main video plane MNVDPL is not converted into theconfiguration information CONFGI, and original default colors are used.The values of the presentation size, presentation position, presentationcolors, aspect ratio, and the like in the main video plane MNVDPL can bechanged by API commands. Upon jumping to another title in the playlistPLLST, the information values of the video size, video presentationposition, presentation colors, aspect ratio, and the like are set to bedefaults (initial values) before jump. After that, the values of thevideo size, presentation position, presentation colors, aspect ratio,and the like are changed to designated values set by the playlist PLLSTat the beginning of playback of the next title.

The information recording and playback apparatus 1 of this embodimentincludes the advanced content playback unit ADVPL (see FIG. 1). As shownin FIG. 14, the advanced content playback unit ADVPL includes the AVrenderer AVRND, which includes the audio mixing engine ADMXEN, as shownin FIG. 38. FIG. 42 shows an audio mixing model representing therelationship between the audio mixing engine ADMXEN and the presentationengine PRSEN which is connected on the input side of the engine ADMXEN.

Audio Mixing Model:

Audio Mixing Model in this specification is shown in FIG. 42. There arethree audio stream inputs in this model. They are effect audio, subaudio and main audio. Sampling Rate Converter adjusts audio samplingrate from the output of each sound/audio decoder to the sampling rate offinal audio output.

Static mixing levels among three audio streams are handled by SoundMixer in Audio Mixing Engine in accordance with the mixing levelinformation from Navigation Manager. Final output audio signal dependson a player.

Effect Audio Stream:

Effect audio steam is typically used when graphical button is clicked.Single channel (mono) and stereo channel WAV formats are supported.Sound Decoder reads WAV file from File Cache and sends LPCM stream toAudio Mixing Engine in response to the request from Navigation Manager.Two or more streams are not present simultaneously. In case thatpresentation of the other stream is requested while one stream is beingpresented, presentation of current stream is stopped and presentation ofnext stream is started.

Sub Audio Stream:

There are two sources of sub audio stream. The one is sub audio streamin Secondary Audio Video and the other is sub audio stream in PrimaryAudio Video. Secondary Audio Video may be synchronized or not to TitleTimeline. If Secondary Audio Video consists of sub video and sub audio,they shall be synchronized each other no matter what Secondary AudioVideo is synchronized to Title Timeline. For sub audio in Primary AudioVideo, it shall be synchronized with Title Timeline.

Main Audio Stream:

There are three sources of main audio stream. The first one is mainaudio stream in Substitute Audio Video.

The next one is main audio stream in Substitute Audio. The last one ismain audio stream in Primary Audio Video. Every main audio stream indifferent Presentation Object shall be synchronized with Title Timeline.

More intelligible explanations will be provided below.

In this embodiment, three different types of audio streams, i.e., aneffect audio EFTAD, sub audio SUBAD, and main audio MANAD (see FIG. 10)are input to the audio mixing engine ADMXEN. Of these three differenttypes of audio streams, the effect audio EFTAD is supplied as the outputfrom the sound decoder SNDDEC in the advanced application presentationengine AAPEN shown in FIG. 42. The sub audio stream SUBAD is supplied asthe output from the sub audio decoder SADEC in the decoder engine DCDEN.The main audio stream MANAD is supplied as the output from the mainaudio decoder MADEC in the decoder engine DCDEN. In this embodiment, thesampling frequencies of these audio streams need not match, and theseaudio streams can have different sampling frequencies (sampling rates).Upon mixing the audio streams having three different samplingfrequencies, the audio mixing engine ADMXEN includes sampling rateconverters SPRTCV corresponding to the respective audio streams. Thatis, the sampling rate converters SPRTCV have a function of changing thesampling frequencies (sampling rates) upon output from the audiodecoders (SNDDEC, SADEC, MADEC) to that of a final audio output. In thisembodiment, as shown in FIG. 42, mixing level information MXLVI istransferred from the navigation manager NVMNG to a sound mixer SNDMIX inthe audio mixing engine ADMXEN, and a mixing level upon mixing the threedifferent types of audio streams is set based on the transferredinformation in the sound mixer SNDMIX. The output dynamic range of afinal audio output AOUT can be uniquely set by the advanced contentplayback unit ADVPL to be used.

The handling method and contents of the three different types of audiostreams in the audio mixing model of this embodiment will be describedbelow.

The effect audio stream EFTAD (see FIG. 10) is an audio stream basicallyused when the user clicks a graphical button. A use example will beexplained below using FIG. 16. As shown in FIG. 16, the advancedapplication ADAPL is presented on the screen, and the help icon 33 ispresented in it. For example, when the user clicks (designates) the helpicon 33, a specific audio is output immediately after the help icon 33is pressed as one means for indicating clicking of the help icon 33 tothe user, thus clearly demonstrating the fact of clicking of the helpicon 33 to the user. An effect sound that informs the user of clickingcorresponds to the effect audio EFTAD. In this embodiment, the effectaudio EFTAD supports a single-channel (monaural) or stereo-channel(two-channel) WAV format. In this embodiment, the sound decoder SNDDECin the advanced application presentation engine AAPEN generates aneffect audio stream EFTAD in accordance with the information contents ofcontrol information CTRLI sent from the navigation manager NVMNG, andtransfers it to the audio mixing engine ADMXEN. The sound source of thiseffect audio stream EFTAD is saved in advance as a WAV file in the filecache FLCCH. The sound decoder SNDDEC in the advanced applicationpresentation engine AAPEN reads this WAV file, converts it into a linearPCM format, and transfers the converted file to the audio mixing engineADMXEN. In this embodiment, the effect audio EFTAD cannot present two ormore streams at the same time. In this embodiment, when a presentationoutput request of the next effect audio stream EFTAD is issued while oneeffect audio stream EFTAD is presented, the effect audio stream EFTADdesignated next is preferentially output. A practical example will beexplained using FIG. 16. For example, a case will be examined whereinthe user holds down the FF button 38. That is, a case will be examinedbelow wherein upon holding down the effect (FF) button 38, acorresponding effect audio EFTAD continuously sounds for several secondsto present that fact to the user. When the user presses the play button35 immediately after he or she holds down the FF button 38 beforesounding of the effect audio EFTAD ends, an effect audio EFTADindicating pressing of the play button 35 is output instead beforesounding of the effect audio EFTAD ends. As a result, when the usersuccessively presses a plurality of image objects of the advancedapplication ADAPL presented on the screen, a quick response to the usercan be presented, thus greatly improving user's convenience.

In this embodiment, the sub audio stream SUBAD supports two sub audiostreams SUBAD, i.e., the sub audio stream SUBAD in the secondary audiovideo SCDAV and that in the primary audio video PRMAV.

The secondary audio video SCDAV can be presented in synchronism with thetitle timeline TMLE or can also be presented asynchronously. If thesecondary audio video SCDAV includes both the sub video SUBVD and subaudio SUBAD, the sub video SUBVD and sub audio SUBAD must besynchronized with each other independently of whether or not thesecondary audio video SCDAV is synchronized with the title timelineTMLE. The sub audio SUBAD in the primary audio video PRMAV must besynchronized with the title timeline TMLE. In this embodiment, meta datacontrol information in an elementary stream of the sub audio streamSUBAD is also processed by the sub audio decoder SADEC.

In this embodiment, as the main audio stream MANAD, three differenttypes of main audio streams MANAD, i.e., a main audio stream MANAD in asubstitute audio video SBTAV, that in a substitute audio SBTAD, and thatin a primary audio video PRMAV are available. All main audio streamsMANAD included in different playback presentation objects must besynchronized with the title timeline TMLE.

FIG. 43 shows a data supply model from the network server NTSRV andpersistent storage PRSTR memory in this embodiment.

Network and Persistent Storage Data Supply Model

Persistent Storage can store any Advanced Content files. Network Servercan store any Advanced Content files except for Primary Video Set.Network Manager and Persistent Storage Manager provide file accessfunctions. Network Manager also provides protocol level accessfunctions.

File Cache Manager in Navigation Manager can get Advanced Stream filedirectly from Network Server and Persistent Storage via Network Managerand Persistent Storage Manager. Parser in Navigation Manager cannot readAdvanced Navigation files directly from Network Server and PersistentStorage except for Play list in startup sequence. Files shall be storedto File Cache at once before being read by Parser.

Advanced Application Presentation Engine has a way to copy the filesfrom Network Server or Persistent Storage to File Cache. AdvancedApplication Presentation Engine invokes File Cache Manager to get thefiles which are not located on File Cache. File Cache Manager compareswith File Cache Table whether requested file is cached on File Cache ornot. The case the file exists on File Cache, File Cache Manager passesthe file data to Advanced Application Presentation Engine directly fromFile Cache. The case the file does not exist on File Cache, File CacheManager get the file from its original location to File Cache, and thenpasses the file data to Advanced Application Presentation Engine.

Secondary Video Player can directly get files of Secondary Video Set,such as TMAP and S-EVOB, from Network Server and Persistent Storage viaNetwork Manager and Persistent Storage Manager as well as File Cache.Typically, Secondary Video Playback Engine uses Streaming Buffer to getS-EVOB from Network Server. It stored part of S-EVOB data to StreamingBuffer at once, and feed to it to Demux module in Secondary VideoPlayer.

More intelligible explanations will be provided below.

In this embodiment, the advanced content file ADVCT can be stored in thepersistent storage PRSTR. Also, the advanced content ADVCT except forthe primary video set PRMVS can be stored in the network server NTSRV.In this embodiment, the network manager NTMNG and persistent storagemanager PRMNG in the data access manager DAMNG in FIG. 43 execute accessprocessing to various files associated with the advanced content ADVCT.Furthermore, the network manager NTMNG has an access function on theprotocol level. The file cache manager FLCMNG in the navigation managerNVMNG makes control upon directly acquiring an advanced stream fileassociated with the advanced application ADAPL from the network serverNTSRV or persistent storage PRSTR via the network manager NTMNG orpersistent storage manager PRMNG. The parser PARSER can directly readthe contents of the playlist file PLLST upon startup of the advancedcontent playback unit ADVPL. To this end, the playlist file PLLST mustbe stored in the information storage medium DISC. However, thisembodiment is not limited to this. For example, the playlist file PLLSTmay be stored in the persistent storage PRSTR, network server NTSRV, orthe like, and may be directly read from there. In this embodiment, theparser PARSER in the navigation manager NVMNG cannot directly play backfiles such as a manifest file MNFST, markup file MRKUP, script fileSCRPT, and the like, which are located under the advanced navigationdirectory ADVNV indicated by advanced navigation files (see FIG. 11) andare obtained from the network server NTSRV or persistent storage PRSTR.

That is, this embodiment is premised on that when the parser PARSERplays back advanced navigation files ADVNV (i.e., files such as themanifest file MNFST, markup file MRKUP, script file SCRPT, and the likeunder the directory ADVNV), these files are temporarily recorded in thefile cache FLCCH, and the parser PARSER plays back the advancednavigation files ADVNV from the file cache FLCCH. It is also premised onthat advanced elements ADVEL (files such as a still picture file IMAGE,effect audio file EFTAD, font file FONT, and other files OTHER shown inFIG. 11) are stored in the file cache FLCCH in advance. That is, theadvanced content ADVCT including the advanced elements ADVEL istransferred in advance from the network server NTSRV or persistentstorage PRSTR via the network manager NTMNG or persistent storagemanager PRMNG in the data access manager DAMNG, and is stored in advancein the file cache FLCCH. Then, the advanced application presentationengine AAPEN reads the advanced elements ADVEL stored in the file cacheFLCCH. The advanced application presentation engine AAPEN in thepresentation engine PRSEN controls to copy various files in the networkserver NTSRV or persistent storage PRSTR to the file cache FLCCH. Theadvanced application presentation engine AAPEN controls the file cachemanager FLCMNG in the navigation manager NVMNG to store required files(or short files of required information) in the file cache FLCCH. Withthis control, the file cache manager FLCMNG confirms the contents of afile cache table which indicates a list stored in the file cache FLCCHto see if files requested from the advanced application presentationengine AAPEN are temporarily stored in the file cache FLCCH. In thedescription of this embodiment, the advanced application presentationengine AAPEN in the presentation engine PRSEN controls the file cachemanager FLCMNG in the navigation manager NVMNG to store the requiredadvanced content ADVCT in the file cache FLCCH in advance. However, thisembodiment is not limited to this. For example, the playlist managerPLMNG in the navigation manager NVMNG may interpret the contents ofresource information RESRCI in the playlist PLLST and may report theparser PARSER on that result, and the parser PARSER may control the filecache manager FLCMNG based on the resource information RESRCI to storethe required advanced content ADVCT in the file cache FLCCH in advance.As a result, if all the required files are temporarily stored in thefile cache FLCCH, the file cache manager FLCMNG directly transfers therequired file data from the file cache FLCCH to the advanced applicationpresentation engine AAPEN. Contrary to this, if not all the requiredfiles are stored in the file cache FLCCH, the file cache manager FLCMNGreads required files from their original storage location (networkserver NTSRV or persistent storage PRSTR) and transfers them to the filecache FLCCH. After that, the required file data are transferred to theadvanced application presentation engine AAPEN. The secondary videoplayer SCDVP controls to transfer the time map file STMAP (see FIG. 11)and secondary enhanced video object file S-EVOB of the secondary videoset file SCDVS from the network server NTSRV or persistent storage PRSTRto the file cache FLCCH via the network manager NTMNG or persistentstorage manager PRMNG. The secondary enhanced object data S-EVOB readfrom the network server NTSRV is temporarily stored in the streamingbuffer STRBUF. After that, the secondary video playback engine SVPBEN inthe secondary video player SCDVP plays back the stored secondaryenhanced video object data S-EVOB from the streaming buffer STRBUF. Someof the secondary enhanced video object data S-EVOB stored in thestreaming buffer STRBUF are transferred to the demultiplexer DEMUX inthe secondary video player SCDVP, and are demultiplexed.

In this embodiment, upon playback of the advanced content ADVCT, everyuser input events are processed first by the programming engine PRGEN inthe advanced application manager ADAMNG. FIG. 44 shows a user inputhandling model in this embodiment.

User Input Model:

All user input events shall be handled by Programming Engine at firstwhile Advanced Content is played back.

User operation signal via user interface devices are inputted into eachdevice controller module in User Interface Engine. Some of useroperation signals may be translated to defined events, “U/I Event” of“Interface Remote Controller Event”. Translated U/I Events aretransmitted to Programming Engine.

Programming Engine has ECMA Script Processor which is responsible forexecuting programmable behaviors. Programmable behaviors are defined bydescription of ECMA Script which is provided by script file(s) in eachAdvanced Application. User event handlers which are defined in Scriptare registered into Programming Engine.

When ECMA Script Processor receives user input event, ECMA ScriptProcessor searches whether the user event handler which is correspondingto the current event in the registered Script of Advanced Application.

If exists, ECMA Script Processor executes it. If not exist, ECMA ScriptProcessor searches in default event handler script which is defined byin this specification. If there exists the corresponding default eventhandler code, ECMA Script Processor executes it. If not exist, ECMAScript Processor discards the event.

More intelligible explanations will be provided below.

For example, signals of user operations UOPE generated by various userinterface drives such as a keyboard, mouse, remote controller, and thelike are input as user interface events UIEVT by various devicecontroller modules (e.g., the remote control controller RMCCTR, keyboardcontroller KBDCTR, mouse controller MUSCTR, and the like) in the userinterface engine UIENG, as shown in FIG. 28. That is, each useroperation signal UOPE is input to the programming engine PRGEN in theadvanced application manager ADAMNG as a user interface event UIEVTthrough the user interface engine UIENG, as shown in FIG. 44. An ECMAscript processor ECMASP which supports execution of various script filesSCRPT is included in the programming engine PRGEN in the advancedapplication manager ADAMNG. In this embodiment, the programming enginePRGEN in the advanced application manager ADAMNG includes the storagelocation of an advanced application script ADAPLS and that of a defaultevent handler script DEVHSP, as shown in FIG. 44. FIG. 45 shows a listof user input events in this embodiment.

Default Input Handler:

Definition of Default Input Handler for User Input Event is defined inFIG. 45.

When user input events are not consumed by Advanced Application, DefaultInput Handler shall implement the action defined by the followingScripts.

Virtual Key Code: Virtual Key Code that is created by Player in responseto user input devices

Instruction: An instruction for Virtual Key Code

Default Input Handler: Script that Define the Default Action

Mandatory/Optional: When Virtual Key Code is “Mandatory”, Player shallprovide user input devices that are able to send this code.

Value: The Value Used in Script for User Input Events

More intelligible explanations will be provided below.

As shown in FIG. 45, for example, a simple operation for moving a cursoron the screen, or a combination of such simple operations is called auser input event, and combination processing of a series of operationssuch as FF playback and the like is called an input handler. Virtual keycodes (input handler codes) are set in correspondence with the userinput events and input handlers. In this embodiment, a plurality ofpieces of information of virtual key codes corresponding to defaultinput handler codes and user input events shown in FIG. 45 are recordedin advance in the default event handler script DEVHSP in the programmingengine PRGEN. Information recorded in the script file SCRPT (see FIG.11) of the advanced application ADAPL, which is fetched from the networkserver NTSRV, information storage medium DISC, or persistent storagePRSTR, is recorded in the advanced application script recording areaADAPLS in the programming engine PRGEN, as shown in FIG. 44. Uponreception of a user interface event UIEVT, the ECMA script processorECMASP interprets event handler codes (virtual key codes correspondingto default input handler codes or user input events) included in thatuser interface event UIEVT, and searches to see if all the event handlercodes described in the user interface event UIEVT correspond to thosewhich are registered in the advanced application script recording areaADAPLS. If all the event handler codes described in the user interfaceevent UIEVT correspond to those registered in the advanced applicationscript recording area ADAPLS, the ECMA script processor ECMASPimmediately starts execution processing according to their contents. Ifthe event handler codes described in the user interface event UIEVTincludes those which are not registered in the advanced applicationscript recording area ADAPLS, the default event handler script DEVHSP issearched for corresponding event handler codes. If all pieces ofinformation of short event handler codes are stored in the default eventhandler script DEVHSP, the ECMA script processor ECMASP performsexecution processing according to the contents of the user interfaceevent UIEVT using the event handler codes registered in the advancedapplication script recording area ADAPLS and default event handlerscript DEVHSP. If the event handler codes included in the user interfaceevent UIEVT are not registered in the default event handler scriptDEVHSP, either, the ECMA script processor ignores the contents of theuser interface event UIEVT, and invalidates execution of the userinterface event UIEVT.

FIG. 45 shows the contents of the event handlers and event handler codesdescribed in the description of FIG. 44. FIG. 45 shows the contents ofevent handlers and virtual key codes which are registered in advance inthe default event handler script DEVHSP, the user event handlersdescribed using FIG. 44 correspond to default input handlers in FIG. 45,and the default event handler codes described using FIG. 44 correspondto virtual key codes in FIG. 45. Instructions in FIG. 45 representexecution contents corresponding to the virtual key codes, and theirdetailed contents will be explained in the following paragraphs offunction overview.

As shown in FIG. 45, events having default input handlers correspond to15 different types of virtual key codes. When the virtual key code is“VK_PLAY”, the default input handler is “playHandler”, the value is“OXFA”, and this event is set upon normal speed playback. When thevirtual key code is “VK_PAUSE”, the default input handler is“pauseHandler”, the value is “0xB3”, and this event is set upon pausingand playback. When the virtual key code is “VK_FF”, the default inputhandler is “fastForwardHandler”, the value is “0xC1”, and this event isset upon fastforward playback. When the virtual key code is “VK_FR”, thedefault input handler is “fastReverseHandler”, the value is “0xC2”, andthis event is set upon fast-reverse playback. When the virtual key codeis “VK_SF”, the default input handler is “slowForwardHandler”, the valueis “0xC3”, and this event is set upon slow-forward playback. When thevirtual key code is “VK_SR”, the default input handler is“slowReverseHandler”, the value is “0xC4”, and this event is set uponslow-reverse playback. When the virtual key code is “VK_STEP_REV”, thedefault input handler is “stepPreviousHandler”, the value is “0xC5”, andthis event is set upon returning to the previous step. When the virtualkey code is “VK_STEP_NEXT”, the default input handler is“stepNextHandler”, the value is “0xC6”, and this event is set uponjumping to the next step. When the virtual key code is “VK_SKIP_PREV”,the default input handler is “skipPreviousHandler”, the value is “0xC7”,and this event is set upon playing back the previous chapter. When thevirtual key code is “VK_SKIP NEXT”, the default input handler is“skipNextHandler”, the value is “0xC8”, and this event is set uponplaying back the next chapter. When the virtual key code is “VKSUBTITLE_SWITCH”, the default input handler is “switchSubtitleHandler”,the value is “0xC9”, and this event is set upon setting ON/OFF ofpresentation of a subtitle. When the virtual key code is “VK_SUBTITLE”,the default input handler is “changeSubtitleHandler”, the value is“0xCA”, and this event is set upon changing a subtitle track. When thevirtual key code is “VK_CC”, the default input handler is“showClosedCaptionHandler”, the value is “0xCB”, and this event is setupon presenting a closed caption. When the virtual key code is“VK_ANGLE”, the default input handler is “changeAngleHandler”, the valueis “0xCC”, and this event is set upon switching an angle. When thevirtual key code is “VK_AUDIO”, the default input handler is“changeAudioHandler”, the value is “0xCD”, and this event is set uponswitching an audio track.

Even for events having no default input handlers, values andinstructions can be set for virtual key codes. When the virtual key codeis “VK MENU”, the value is “0xCE”, and this event is set upon presentinga menu. When the virtual key code is “VK_TOP_MENU”, the value is “0xCF”,and this event is set upon presenting a top menu. When the virtual keycode is “VK_BACK”, the value is “0xD0”, and this event is set uponreturning to the previous frame or the playback start position. When thevirtual key code is “VK_RESUME”, the value is “0xD1”, and this event isset upon returning from a menu. When the virtual key code is “VK_LEFT”,the value is “0x25”, and this event is set upon shifting the cursor tothe left. When the virtual key code is “VK_UP”, the value is “0x26”, andthis event is set upon shifting the cursor upward. When the virtual keycode is “VK_RIGHT”, the value is “0x27”, and this event is set uponshifting the cursor to the right. When the virtual key code is“VK_DOWN”, the value is “0x28”, and this event is set upon shifting thecursor downward. When the virtual key code is “VK_UPLEFT”, the value is“0x29”, and this event is set upon shifting the cursor left upward. Whenthe virtual key code is “VK_UPRIGHT”, the value is “0x30”, and thisevent is set upon shifting the cursor right upward. When the virtual keycode is “VK_DOWNLEFT”, the value is “0x31”, and this event is set uponshifting the cursor left downward. When the virtual key code is“VK_DOWNRIGHT”, the value is “0x32”, and this event is set upon shiftingthe cursor right downward. When the virtual key code is “VK_TAB”, thevalue is “0x09”, and this event is set upon using a tab. When thevirtual key code is “VK_A_BUTTON”, the value is “0x70”, and this eventis set upon pressing an A button. When the virtual key code is“VK_B_BUTTON”, the value is “0x71”, and this event is set upon pressinga B button. When the virtual key code is “VK_C_BUTTON”, the value is“0x72”, and this event is set upon pressing a C button. When the virtualkey code is “VK_D_BUTTON”, the value is “0x73”, and this event is setupon pressing a D button. When the virtual key code is “VK_ENTER”, thevalue is “0x0D”, and this event is set upon pressing an OK button. Whenthe virtual key code is “VK_ESC”, the value is “0x1B”, and this event isset upon cancel. When the virtual key code is “VK_0”, the value is“0x30”, and “0” is set. When the virtual key code is “VK_1”, the valueis “0x31”, and “1” is set. When the virtual key code is “VK_2”, thevalue is “0x32”, and “2” is set. When the virtual key code is “VK_3”,the value is “0x33”, and “3” is set. When the virtual key code is“VK_4”, the value is “0x34”, and “4” is set. When the virtual key codeis “VK_5”, the value is “0x35”, and “5” is set. When the virtual keycode is “VK_6”, the value is “0x36”, and “6” is set. When the virtualkey code is “VK_7”, the value is “0x37”, and “7” is set. When thevirtual key code is “VK_8”, the value is “0x38”, and “8” is set. Whenthe virtual key code is “VK_9”, the value is “0x39”, and “9” is set.When the virtual key code is “VK_MOUSEDOWN”, the value is “0x01”, andthis event is set upon disabling input of the designated element(shifting it to the non-frontmost plane). When the virtual key code is“VK_MOUSEUP”, the value is “0x02”, and this event is set upon enablinginput of the designated element (shifting it to the frontmost plane).

In the existing DVD-Video or the standard content STDCT in thisembodiment, an SPRM (system parameter) is defined to set a parameterused by the system. However, in this embodiment, the advanced contentnavigation does not use any SPRM (system parameters), and systemparameters shown in FIGS. 50 to 53 are set as alternatives to the SPRM(system parameters). Upon playing back the advanced content ADVCT, theSPRM (system parameter) value can be detected by API command processing.As the system parameter in this embodiment, the following four differenttypes of parameters can be set. The system parameters are set for eachadvanced content playback unit ADVPL in the information recording andplayback apparatus 1. Player parameters shown in FIG. 46 can be commonlyset for each information recording and playback apparatus 1. Profileparameters shown in FIG. 47 indicate data of a user profile.Presentation parameters shown in FIG. 48 indicate the presentation stateon the screen. Layout parameters shown in FIG. 49 mean parametersassociated with the layout upon video presentation (see FIG. 39).

In this embodiment, the system parameters are temporarily set in thedata cache DTCCH shown in FIG. 14. However, this embodiment is notlimited to this. For example, the system parameters can be set in atemporary memory (not shown) set in the parser PARSER in the navigationmanager NVMNG shown in FIG. 28. An explanation will be given below forrespective drawings.

FIG. 46 shows a list of player parameters in this embodiment.

In this embodiment, the player parameters include two objects, i.e., aplayer parameter object and a data cache object. The player parametersmean general parameter information required upon executing videoplayback processing of the advanced content playback unit ADVPL in theinformation recording and playback apparatus 1 shown in FIG. 1. Of theplayer parameters, general parameter information which is not associatedwith network downloading and data transfer from the persistent storagePRSTR to the data cache DTCCH belongs to the player parameters. Theprocessing in the advanced content playback unit ADVPL in thisembodiment is premised on the data transfer processing to the data cacheDTCCH. As parameter information required for the advanced contentplayback unit ADVPL, a parameter required for the data transferprocessing to the data cache is defined as a player parametercorresponding to the data cache.

In the player parameter object, 13 player parameters are set. As thecontents of the player parameters, “majorversion” means an integer valueof the version number of the corresponding specification. “minorversion”means a value below the decimal point of the version number of thecorresponding specification. “videoCapabilitySub” means the presentationcapability of a sub video. “audioCapablityMain” means the presentationcapability of a main audio. “audioCapabilitySub” means the presentationcapability of a sub audio. “audioCapabilityAnalog” means thepresentation capability of an analog audio. “audioCapabilityPCM” meansthe presentation capability of a PCM audio. “audioCapabilitySPDIF” meansthe presentation capability of an S/PDIF audio. “regioncode” means aregion code. The region code means that the earth is divided into sixregions, and region code numbers are set for respective regions. Uponvideo playback, playback presentation is permitted in only a region thatmatches the region code number. “countrycode” means a country code.“displayAspectRatio” means an aspect ratio. The aspect ratio means thehorizontal to vertical ratio of the video screen to be presented to theuser. “currentDisplayMode” means a display mode. “networkThroughput”means a network throughput. The network throughput means the transferrate of data transferred from the network server NTSRV via the network.

Also, “dataCacheSize” is set in the data cache object, and means thedata cache size as its contents.

FIG. 47 shows a list of profile parameters in this embodiment.

In this embodiment, the profile parameters include a profile parameterobject. The profile parameters mean parameters associated with the framepresentation format processed by the advanced content playback unitADVPL in the information recording and playback apparatus 1 shown inFIG. 1. In the profile parameter object, four profile parameters areset. As the contents of the profile parameters, “parentalLevel” means aparameter that specifies a level that permits children to view withrespect to adult video, video pictures including violent/cruel scenes,and the like that cannot be presented to children. By utilizing thisparameter, when, for example, a video picture with a high parental levelis presented to children, a video picture obtained by editing onlyscenes the children can watch can be presented. “menuLanguage” means amenu language. “initialAudioLanguage” means an initial audio language.“initialSubtitleLanguage” means an initial subtitle language.

FIG. 48 shows a list of presentation parameters.

In this embodiment, the presentation parameters mean parametersassociated with the presentation frame and presentation audio processedby the advanced content playback unit ADVPL in the information recordingand playback apparatus shown in FIG. 1, and include three objects, i.e.,a playlist manager PLMNG object, audio mixing engine ADMXEN object, anddata cache DTCCH object. The playlist manager PLMNG object includesparameters required for the processing in the playlist manager PLMNG inthe navigation manager NVMNG shown in FIG. 28. The audio mixing engineADMXEN object can be classified to parameters required for theprocessing in the audio mixing engine ADMXEN in the AV renderer AVRNDshown in FIG. 38. The data cache DTCCH object can be classified to aparameter (data cache) required for the processing in the streamingbuffer STRBUF in the data cache DTCCH shown in FIG. 27.

In the playlist manager PLMNG object, 11 playlist manager PLMNGparameters are set. As the contents of the playlist manager parametersPLMNG, “playlist” will be described below. To the playlist file PLLST, anumber can be appended to a file name. When the playlist file PLLST isedited or updated, that edited or updated file is appended with a numberwhich has a value larger by “1” than the largest number of the previousappended numbers, and the file is saved, thus generating a latestplaylist file PLLST. When the appended number of the playlist file PLLSTto be played back by the advanced content playback unit ADVPL is set asthe parameter, video playback can be implemented based on an optimalplaylist PLLST that the user wants. However, this embodiment is notlimited to this. As another embodiment, a combination of a title ID(titleid) and an elapsed time on the title timeline (titleElapsedTime)may be used to record the last position where the user interruptedplayback (the last position where the user ended playback). As for“titleid”, by recording identification information (title ID) of a titleupon interrupting playback (or played back last), the user can restartplayback from the title whose playback was interrupted previously.“titleElapsedTime” means an elapsed time on the title timeline.“currentVideoTrack” means the track number of a main video.“currentAudioTrack” means the track number of a main audio.“currentSubtitleTrack” means the track number of a subtitle.“selectedAudioLanguage” means a language (Japanese JA, English EN, etc.)which is selected by the user and is audibly output upon playback.“selectedAudioLanguageExtension” means an extension field of theselected audio language. “selectedSubtitleLanguage” means a language(Japanese JA, English EN, etc.) of a subtitle which is selected by theuser and is output upon playback. “selectedSubtitleLanguageExtension”means an extension field of the selected subtitle language.“selectedApplicationGroup” means a language (Japanese JA, English EN,etc.) of an application group which is selected by the user and isoutput upon playback. For example, this parameter representspresentation language identification as to whether text presented on thehelp icon 33 shown in FIG. 16 is presented as

or “help”.

In the audio mixing engine ADMXEN object, 10 audio mixing engine ADMXENparameters are set. As the contents of the audio mixing engineparameters ADMXEN, “volumeL” means the tone volume of a left channel.“volumeR” means the tone volume of a right channel. “volumeC” means thetone volume of a center channel. “volumeLS” means the tone volume of aleft surround channel. “volumeRS” means the tone volume of a rightsurround channel. “volumeLB” means the tone volume of a left behindsurround channel. “volumeRB” means the tone volume of a right behindsurround channel. “volumeLFE” means the tone volume of a sub wooferchannel. “mixSubXtoX” means a sub audio down mix coefficient(percentages). For example, when the main title 31 presented by the mainvideo MANVD and the independent window 32 for a commercial presented bythe sub video SUBVD are to be simultaneously presented, as shown in FIG.16, the main audio MANAD corresponding to the main title 31 and the subaudio SUBAD corresponding to the independent window 32 for a commercialneed be simultaneously audibly output. The ratio of the output tonevolume of the sub audio SUBAD to that of the main audio MANAD at thattime is called the sub audio down mixing coefficient. “mixEffectXtoX”means a sub effect audio down mix coefficient (percentages). Forexample, as shown in FIG. 16, the user often presses various icons 33 to38 formed by the advanced application ADAPL. An effect sound whichexpresses that the user instructs to execute each element (icon) in theadvanced application ADAPL means an example of the sub effect audio. Inthis case, the sub effect audio need be audibly output simultaneouslywith the main audio MANAD corresponding to the main title 31. The ratioof the tone volume of the sub effect audio to that of the main audioMANAD at that time is called the sub effect audio down mix coefficient.

In the data cache DTCCH object, “streamingBufferSize” is set, and meansthe streaming buffer size as its contents. Data of the secondary videoset SCDVS transferred from the network server NTSRV are temporarilystored in the streaming buffer STRBUF. To allow such storage, the sizeof the streaming buffer STRBUF in the data cache DTCCH need be assignedin advance. The size of the streaming buffer STRBUF required at thattime is specified in the configuration information CONFGI in theplaylist file PLLST.

FIG. 49 shows a list of layout parameters in this embodiment. In thisembodiment, the layout parameters include a presentation engine PRSENobject. The layout parameters mean those which are processed by theadvanced content playback unit ADVPL in the information recording andplayback apparatus 1 shown in FIG. 1, and are associated with the layouton the frame to be presented to the user.

In the presentation engine PRSEN object, 16 presentation engine PRSENparameters are set. As the contents of the presentation engine PRSENparameters, “mainVideo.x” means the x-coordinate value of the originposition of the main video. “mainvideo.y” means the y-coordinate valueof the origin position of the main video. “mainVideoScaleNumerator”means the value of the numerator of a main video scaling value.“mainVideoScaleDenominator” means the value of the denominator of themain video scaling value. “mainVideoCrop.x” means the x-coordinate valueof the main video presentation area. “mainVideoCrop.y” means they-coordinate value of the main video presentation area.“mainVideoCrop.width” means the width of the main video presentationarea. “mainVideoCrop.height” means the height of the main videopresentation area. “subVideo.x” means the x-coordinate value of theorigin position of the sub video. “subvideo.y” means the y-coordinatevalue of the origin position of the sub video. “subVideoScaleNumerator”means the numerator of a sub video scaling value.“subVideoScaleDenominator” means the denominator of the sub videoscaling value. “subVideoCrop.x” means the x-coordinate value of the subvideo presentation area. “subVideoCrop.y” means the y-coordinate valueof the sub video presentation area. “subVideoCrop.width” means the widthof the sub video presentation area. “subVideoCrop.height” means theheight of the sub video presentation area.

A description will now be given as to a method of setting a playlistfile PLLST used for playback of advanced contents ADVCT in thisembodiment with reference to FIGS. 50 and 51. In this embodiment, it isbasically assumed that a playlist file PLLST exists in the informationstorage medium DISC. At an initial stage, playback processing of theadvanced contents ADVCT is performed by using the playlist file PLLSTstored in the information storage medium DISC. However, in thisembodiment, contents of the playlist file PLLST for playback of theadvanced contents ADVCT can be updated by methods described below.

1. The network server NTSRV is utilized to update contents of theplaylist file PLLST.

2. A playlist file obtained by uniquely editing or creating a playbackprocedure of the advanced contents ADVCT by a user is used to executeplayback processing of the advanced contents ADVCT.

The network server NTSRV described in 1 can be used to store adownloaded new playlist file PLLST in the persistent storage PRSTR.Then, the playlist file PLLST in the persistent storage PRSTR is used toplay back the advanced contents ADVCT. In each of the methods describedin 1 and 2, sequential numbers are set to (file names of) playlist filesPLLST, and the highest number is set to the latest playlist file PLLSTin this embodiment in order to allow identification of the old playlistfile PLLST and the updated or edited/created new playlist file PLLST. Asa result, even if a plurality of playlist files PLLST exist with respectto the same advanced contents ADVCT, utilizing the playlist file PLLSThaving the highest number added thereto allow recognition of theplayback method for the latest advanced contents ADVCT.

The method of 2 will now be described.

In case of prohibiting a user from editing the advanced contents ADVCTsupplied by a content provider, copy protection processing (scrambleprocessing) is performed with respect to a playback/display object inthe advanced contents ADVCT, thereby prohibiting the user from editingthe contents. Moreover, in case of supplying a playback/display objectwhich allows a user to perform editing from a content provider, copycontrol processing (scramble processing) is not executed with respect tothe playback/display object, thereby allowing editing processing by theuser. A playlist file PLLST which is created when a user edges aplayback/display objected which is not allowed to be edited (copycontrol/scramble processing) by the content provider can be stored inthe persistent storage PRSTR in this embodiment. As described above,allowing a predetermined playlist file PLLST to be recorded in thepersistent storage PRSTR can obtain the following effects.

A) Since a download timing of an updated playlist file PLLST stored inthe network server NTSRV is no longer necessary, a playback start timebased on the updated playlist file PLLST can be shortened.

B) When a user freely edits/creates advanced contents ADVCT allowed tobe edited/created, the advanced contents ADVCT matching with preferencesof the user can be played back.

A relationship between the method of 2 and the effects of thisembodiment shown in FIGS. 2A to 2C will now be described.

As illustrated in FIGS. 2A to 2C, a management data structure itself isrelatively customized in the conventional DVD-Video standards for a userrequest to assure the processing simplicity of image related informationand the transmission simplicity of processed information as shown inFIGS. 2A to 2C, it is impossible to flexibly and readily cope withcomplicated editing processing. On the other hand, in this embodiment,XML is used in written contents of a playlist file PLLST, and a conceptof title timeline TMLE is introduced into a description concept of theplaylist file. Additionally, in this embodiment, allowing updating thethus created playlist file PLLST facilitates selective creation ortransmission of a playlist file PLLST by a user shown in [8] of FIG. 2C.That is, not only selection or creation/editing of a playlist file PLLSTby a user shown in (8.1) of FIG. 2C can be performed in accordance withthe method of 2, but also a transmitted playlist file PLLST can beutilized on a reception side by transmitting the playlist file PLLSTselected/created by the user as shown in (8.2) of FIG. 2C and optimizinga set number of the playlist file PLLST received by a friend.

In this embodiment, the updated or edited/created new playlist filePLLST is stored in the persistent storage PRSTR with its set numberbeing incremented. Therefore, when starting up playback of advancedcontents ADVCT, as shown in FIG. 50, all playlist files PLLST existingin the information storage medium DISC and the persistent storage PRSTRare searched, and a playlist file PLLST having the highest set number isextracted, thereby enabling playback control based on the latestplaylist file PLLST.

Further, in case of downloading an updated playlist file PLLST existingin the network server NTSRV, as shown in FIG. 51, the latest playlistfile PLLST is downloaded from the network server NTSRV, and its setnumber is changed to a value larger than those of existing playlistfiles PLLST. Then, this file is stored in the persistent storage PRSTR,thereby enabling playback based on the playlist file PLLST obtainedafter updating the playlist file PLLST stored in the network serverNTSRV.

<Startup Sequence of Advanced Content>

FIG. 50 shows a flow chart of startup sequence for Advanced Content indisc.

1) Read ‘DISCID.DAT’ on a Disc:

After detecting inserted HD DVD-Video disc is Disc Category 2 orCategory 3, the Playlist Manager reads PROVIDER ID, CONTENT ID andSEARCH_FLG from the ‘DISCID.DAT’ file to access the Persistent Storagearea associated with this disc.

2) Read Display Mode Information in System Parameters:

The Playlist Manager reads ‘Display Mode’ information. Move to VPLSTsearch steps, when ‘Display Mode’ indicates that the player isconnecting to some display. Otherwise, move to APLST search steps.

3) VPLST Search Steps

3-1) Search VPLST files under specified directory in all connectedPersistent Storage:

If SEARCH_FLG is ‘0b’, the Playlist Manager searches ‘VPLST$$$.XPL’files in the area specified by Provider ID and Content ID in allconnected Persistent Storages. (‘$$$’ indicates the number from ‘000’ to‘999’) If SEARCH_FLG is ‘1b’, skip this step.

3-2) Search a VPLST files under ‘ADV_OBJ’ directory on a disc:

The Playlist Manager searches ‘VPLST$$$.XPL’ files under ‘ADV_OBJ’directory on a disc. (‘$$$’ indicates the number from ‘000’ to ‘999)

3-3) Detect VPLST$$$.XPL

If the Playlist Manager does not detect ‘VPLST$$$.XPL’ file, then moveto APtST search steps.

3-4) Read the VPLST file which has the highest number:

The Playlist Manager reads a VPLST file which has the highest number(described as ‘$$$’ above) in those VPLST files found in the precedingVPLST search procedures. After that, moves to ‘Change SystemConfiguration’ step.

4) APLST Search Steps

4-1) Search APLST files under specified directory in all connectedPersistent Storage:

If SEARCH_FLG is ‘0b’, the Playlist Manager searches ‘APLST###.XPL’files in the area specified by Provider ID and Content ID in allconnected Persistent Storages. (‘###’ indicates the number from ‘000’ to‘999’) If SEARCH_FLG is ‘1b’, skip this step.

4-2) Search APLST files under ‘ADV_OBJ’ directory on a disc:

The Play list Manager searches ‘APLST###.XPL’ files under ‘ADV_OBJ’directory on a disc. (‘###’ indicates the number from ‘000’ to ‘999’)

4-3) Detect APLST###.XPL

If the Playlist Manager does not detect ‘APLST###.XPL’ file, then moveto Failure step.

4-4) Read the APLST file which has the highest number:

The Playlist Manager reads a APLST file which has the highest number(described as ‘###’ above) in those APLST files found in the precedingAPLST search procedures. And moves to ‘Change System Configuration’step.

5) Change System Configuration:

The player changes system resource configuration of the Advanced ContentPlayer. The Streaming Buffer size is changed in accordance withstreaming buffer size described in Playlist during this phase. All filesand data currently in File Cache and Streaming Buffer are withdrawn.

6) Initialize Title Timeline Mapping & Playback Sequence:

The Playlist Manager calculates when the Presentation Object(s) to bepresented on the Title Timeline of the first Title and where are thechapter entry point(s).

7) Preparation for the First Title Playback:

The File Cache Manager shall read and store all files which are neededto be stored in the File Cache in advance to start the first Titleplayback. They may be Advanced Navigation files for the AdvancedApplication Manager, Advanced Element files for the Advanced ApplicationPresentation Engine or TMAP/S-EVOB file(s) for the Secondary VideoPlayer. The Playlist Manager initializes presentation modules, such asthe Advanced Application Presentation Engine, the Secondary Video Playerand the Primary Video Player in this phase.

If there is Primary Audio Video in the first Title, the Playlist Managerinforms the presentation mapping information of Primary Audio Video ontothe Title Timeline of the first Title in addition to specifyingnavigation files for Primary Video Set, such as IFO and TMAP(s). ThePrimary Video Player reads IFO and TMAPs from disc, and then preparesinternal parameters for playback control to Primary Video Set inaccordance with the informed presentation mapping information inaddition to establishment the connection between the Primary VideoPlayer and required decoder modules in Decoder Engine.

If there is the presentation object which is played by the SecondaryVideo Player, such as Secondary Audio Video and Substitute Audio in thefirst Title, the Navigation Manager informs the presentation mappinginformation of the first presentation object of the Title Timeline inaddition to specifying navigation files for the presentation object,such as TMAP. The Secondary Video Player reads TMAP from data source,and then prepares internal parameters for playback control to thepresentation object in accordance with the informed presentation mappinginformation in addition to establishment the connection between theSecondary Video Player and required decode modules in Decoder Engine.

8) Start to Play the First Title:

After preparation for the first Title playback, the Advanced ContentPlayer starts the Title Timeline. The presentation object mapped ontothe Title Timeline start presentation in accordance with itspresentation schedule.

9) Failure:

If the Playlist Manager is not able to detect neither ‘VPLST$$$.XPL’ nor‘APLST###.XPL’ move to this step. In this step, the behavior of restartis left to player.

More intelligible explanations will be provided below.

A startup sequence of advanced contents ADVCT in this embodiment willnow be described with reference to FIG. 50. Basically, playlist filesPLLST in all persistent storages PRSTR connected with the informationstorage medium DISC are searched, a playlist file PLLST having thehighest set number is extracted, and playback processing based on thisfile is executed.

As shown in FIG. 5, in this embodiment, three types of informationstorage mediums DISC classified into Category 1 to Category 3 are set.Of such information storage mediums DISC, information of advancedcontents ADVCT can be recorded in the information storage medium DISCcorresponding to Category 2 and Category 3 shown in FIGS. 5(a) and 5(c).First, a category of the information storage medium DISC is judged, andthe information recording medium DISC having advanced contents ADVCTrecorded therein and corresponding to Category 2 or Category 3 isdetected.

As shown in FIG. 14, the navigation manager NVMNG exists in the advancedcontent playback unit ADVPL in the information recording and playbackapparatus 1 according to this embodiment, and the playlist manager PLMNGexists in the navigation manager NVMNG (see FIG. 28). The playlistmanager PLMNG reads display mode information concerning a systemparameter from the information storage medium (step S41). The displaymode information is utilized so that the play list manager PLMNG reads a“VPLIST$$$.XML” file. Furthermore, this embodiment is not restricted tothis configuration, and the playlist manager PLMNG can also read a“VPLIST$$$.XML” file (each “$$$” means a number from “000” to “999”).

In this embodiment, when playing back the information storage mediumDISC, a necessary provider ID/content ID and search flag are recorded ina DISCID/DAT file in the persistent storage PRSTR. The playlist managerPLMNG reads the DISCID.DAT file in the persistent storage PRSTR, andreads the provider ID/content ID and the search flag from this file(step S42). The playlist manager PLMNG interprets contents of the searchflag, and judges whether this search flag is “1b” (step S43). When thesearch flag is “0b”, contents of all connected persistent storages PRSTRare searched, and a playlist file PLLST corresponding to the provider IDand the content ID is extracted (step S44). Furthermore, when the searchflag is “1b”, the step S44 is skipped. Then, the playlist manager PLMNGsearches for playlist files PLL existing under a directory “ADV_OBJ” inthe information storage medium DISC (step S45). Thereafter, a playlistfile PLLST having the highest specified number is extracted from theplaylist files PLLST stored in the information storage medium DISC andthe persistent storage PRSTR, and the playlist manager PLMNG plays backcontents of the extracted file (step S46). Subsequently, the advancedcontent playback unit ADVPL changes a system configuration based oncontents of the playlist file PLLST extracted at the step S46 (stepS47). Moreover, at this time, a size of a streaming buffer STRBUF ischanged based on a streaming buffer size written in the playlist filePLLST. Additionally, all files and all data contents already recorded inthe file cache FLCCH and the streaming buffer STRBUF shown in FIG. 27are erased. Then, object mapping and playback sequence initializationaccording to the title timeline TMLE are executed (step S48). As shownin FIGS. 24A and 24B, object mapping information OBMAPI and playbacksequence information PLSQI are recorded in the playlist file PLLST, andthe playlist manager PLMNG utilizes such information to calculate aplayback timing of each playback/display object on a title timeline TMLEcorresponding to a title which is displayed first and also calculate aposition of each capture entry point on the title timeline TMLE based onthe playback sequence. Then, playback preparation of a title which isplayed back first is carried out (step S49). Specific contents ofprocessing at the step S49 will now be described. As shown in FIG. 28, afile cache manager FLCMNG exists in the navigation manager NVMNG. Priorto starting a title which is played back first, the file cache managerFLCMNG performs necessary playback control over various kinds of files,and temporarily stores these files in the file cache FLCCH. A file whichis temporarily stored in the file cache FLCCH is used by the advancedapplication manager (see FIG. 28). As specific file names, there are amanifest file MNFST, a markup file MRKUP, a script file SCRPT and othersexisting in an advanced navigation directory ADVNV shown in FIG. 11.Besides, in the file cache are stored a time map file STMAP and asecondary enhanced video object file S-EVOB (see FIG. 11) of a secondaryvideo set used by a secondary video player SCDVP (see FIG. 35), a stillimage file IMAGE, an effect audio file EFTAD and a font file FONTexisting in an advanced element directory ADVEL used by an advancedapplication presentation engine AAPEN (see FIG. 30), and other filesOTHER. Moreover, at this timing, the playlist manager PLMNG executesinitialization processing with respect to various playback modules suchas an advanced application presentation engine AAPEN in the presentationengine PRSEN, a secondary video player SCDVP or a primary video playerPRMVP shown in FIG. 30. A description will now be given as to a methodof playback preparation concerning primary audio video PRMAV as a partof the playback preparation of the title explained at the step S49. Asshown in FIGS. 24A and 24B, object mapping information OBMAPI exists inthe playlist file PLLST, and a primary audio video clip element PRAVCPexists in the object mapping information OBMAPI. The playlist managerPLMNG analyzes information of the primary audio video clip elementPRAVCP in the object mapping information OBMAPI, and transmits thisinformation to the primary video player PRMVP (see FIG. 30) in thepresentation engine PRSEN. Further, as shown in FIG. 11, as managementfiles concerning the primary video set PRMAV, there are a video titleset information file ADVTSI existing in the primary audio videodirectory PRMAV, a time map file PTMAP of the primary video set andothers, and the playlist manager PLMNG transfers information of storagepositions of these files to the primary video player PRMVP. Afterexecuting playback control over the video title set information fileADVTSI or the time map file PTMAP of the primary video set PRMVS fromthe information storage medium DISC, the primary video player PRMVPperforms preparation of initial parameters required for playback controlover the primary video set PRMVS based on the object mapping informationOBMAPI. Moreover, as shown in FIG. 36, the primary video player PRMVPalso performs preparation for connection with a video recorder in acorresponding decoder engine DCDEN. Additionally, in case of playingback substitute audio video SBTAV, substitute audio SBTAD or secondaryaudio video SCDAV played back by the secondary video player SCDVP, theplaylist manager PLMNG likewise transfers information of a clip elementconcerning the object mapping information OBMAPI to the secondary videoplayer SCDVP, and also transfers a storage position of the time map fileSTMAP (see FIG. 11) of the secondary video set to the secondary videoplayer SCDVP. The secondary video player SCDVP carries out playbackcontrol concerning information of the time map file STMAP of thesecondary video set, sets initial parameters concerning the playbackcontrol based on information of the object mapping information OBMAPI,and performs preparation for connection with a related recorder in thedecoder engine DCDEN shown in FIG. 35. Upon completion of the playbackpreparation for the title, a track from which information is played backfirst is prepared (step S50). At this time, the advanced contentplayback unit ADVPL starts counting up the title timeline TMLE, andexecutes playback/display processing of each playback/display objectwith progress of the title timeline TMLE in accordance with a schedulewritten in the object mapping information OBMAPI. When playback isstarted, a timing of termination of playback is constantly detected(step S51), and playback termination processing is performed when aplayback end time is reached.

<Update Sequence of Advanced Content Playback>

FIG. 51 shows a flow chart of update sequence of Advanced Contentplayback.

-   -   Playback Title

Advanced Content Player playback Title.

-   -   New Playlist file exist?

In order to update Advanced Content playback, it is required thatAdvanced Application to execute updating procedures. If the AdvancedApplication tries to update its presentation, Advanced Application ondisc has to have the search and update script sequence in advance.Script searches the specified data source(s), typically Network Server,whether there is available new Playlist file.

-   -   Download Playlist file

If there is available new Playlist file, Script which is executed byProgramming Engine, downloads it to File Cache or Persistent Storage.

-   -   The Playlist file will be used next time?    -   Store the Playlist file under specified directory in a        Persistent Storage

Before Soft Reset, Advanced Application decides whether the Playlistfile will be used next time or not. If the Playlist file is usedtemporarily, the file shall be stored in File Cache. In this case, whenthe next startup sequence, current Playlist file will be read by aplayer. If the Playlist file is used next time, the file shall be storedin File Cache, and it should be stored in the area specified by ProviderID and Content ID in Persistent Storage, and next time this file will beread by a player.

-   -   Issue Soft Reset

Advanced Application shall issue Soft Reset API to restart StartupSequence. Soft Reset API registers the new Playlist file to AdvancedApplication Player, and resets some of current parameters and playbackconfigurations. After that, “Change System Configuration” and followingprocedures are executed based on new Playlist file. Advanced ContentPlayer restores the registered Playlist file to File Cache. In a similarway, Advanced Content Player restores Assignment Information Filesassociated with the registered Playlist to File Cache.

-   -   Initialize Title Timeline Mapping & Playback Sequence    -   Preparation for the first Title playback

More intelligible explanations will be provided below.

A description will now be given as to an update sequence method inplayback of advanced contents in this embodiment with reference to FIG.51. When contents of a playlist file PLLST are updated mainly in thenetwork server NTSRV, the advanced content playback unit ADVPL in theinformation recording and playback apparatus 1 set on a user side canalso update contents of the playlist file PLLST in accordance with thisoperation. FIG. 51 shows a method of updating contents of the playlistfile PLLST executed by the advanced content playback unit ADVPL.

As shown in FIG. 5, in this embodiment, three types of informationstorage mediums DISC classified into Category 1 to Category 3 are set.Of these information storage mediums DISC, information of advancedcontents ADVCT is included in the information storage mediums DISCcorresponding to Category 2 and Category 3 shown in (b) and (c) of FIG.5. First, a category of the information storage medium DISC is judged,and the information storage medium DISC having advanced contents ADVCTrecorded therein and corresponding to Category 2 or Category 3 isdetected. Then, in FIG. 51, processing from the step S41 to the step S45in FIG. 50 is likewise executed, and a playlist file PLLST stored in theinformation storage medium DISC and a playlist file PLLST recorded inthe persistent storage PRSTR are retrieved. Subsequently, the playlistfiles PLLST stored in the information storage medium DISC and thepersistent storage PRSTR are compared with each other, the playlist filePLLST having the highest number in numbers set to the playlist filesPLLST is extracted, and the playlist manager PLMNG plays back contentsof this file (step S61). Then, a system configuration is changed basedon contents of the playlist file PLLST extracted at the step S61 (stepS62). In this embodiment, the system configuration is specificallychanged as follows.

1. A system resource configuration is changed.

2. A size of a streaming buffer STRBUF (see FIG. 27) in the data cacheDACCH is changed.

-   -   The size is changed in accordance with a “streaming buffer size        STBFSZ (size attribute information) which must be set in        advance” of a streaming buffer element STRBUF arranged in        configuration information CONFGI in the playlist PLLST        illustrated in (c) in FIG. 80.

3. Erase processing or the like of all files and all data contentsalready recorded in the file cache FLCCH and the streaming buffer STRBUFshown in FIG. 27 is mainly executed by the playlist manger PLMNG (FIG.28) in the navigation manger NVMNG existing in the advanced contentplayback unit ADVPL.

Then, at step S63, object mapping and initialization of a playbacksequence are executed along a title timeline TMLE. As shown in FIGS. 24Aand 24B, object mapping information OBMAPI and playback sequenceinformation PLSQI are recorded in the playlist file PLLST, and theplaylist manager PLMNG utilizes such information to calculate a playbacktiming of each playback/display object on a title timeline TMLEcorresponding to a title which is displayed first and also calculate aposition of each capture entry point on the title timeline TMLE based onthe playback sequence. Then, playback preparation of the title which isplayed back first is carried out at step S64. Specific contents ofprocessing at the step S64 will now be described. As shown in FIG. 14,the navigation manger NVMNG exists in the advanced content playback unitADVPL, and the file cache manager FLCMNG exists in the navigation mangerNVMNG (see FIG. 28). Prior to starting playback of the title which isplayed back first, the file cache manager FLCMNG temporarily storesvarious files required for playback in the file cache FLCCH. As shown inFIG. 11, as files temporarily stored in the file cache FLCCH, there area manifest file MNFST, a markup file MRKUP and a script file SCRPTexisting in the advanced navigation directory ADVNV, a still image fileIMAGE, an effect audio file EFTAD and a font file FONT existing in theadvanced element directory ADVEL, and other files OTHER. Besides, asfiles stored in the file cache, there are a time map file STMAP and asecondary enhanced video object file S-EVOB of a secondary video setused by the secondary video player SCDVP. Further, the playlist managerPLMNG initializes various playback modules such as an advancedapplication presentation engine AAPEN, a secondary video player SCDVP, aprimary video player PRMVP or the like in the presentation engine PRSENshown in FIG. 30 simultaneously with a timing of “playback preparationof the title which is played back first” described at the step S64.Concrete contents of the initialization of various playback modulesexecuted by the playlist manager PLMNG will now be described.

1. Initialization processing of the primary video player PRMVP.

(When the primary audio video PRMAV must be played back/displayed in aplayback target title)

-   -   The following information is transferred from the playlist        manager PLMNG to the primary video player PRMVP.        -   Information written in the primary audio video clip element            PRAVCP (see FIGS. 54A and 54B) such as a playback timing of            the primary audio video PRMAV on the title timeline TMLE.        -   Management information concerning the primary video set            PRMVS such as time map information PTMAP or enhanced video            object information EVOBI (see FIG. 12) of the primary video            set.    -   The primary video player sets initial parameters based on the        above-described information.    -   The primary video player PRMVP performs preparation for        connection between a necessary decoder module in the decoder        engine DCDEN and the primary video player PRMVP (see FIG. 36).

2. Initialization processing of the secondary video player SCDVP

(When the secondary video set SCDVS must be played back/displayed in aplayback target title)

-   -   The navigation manager NVMNG transfers the following information        to the secondary video player SCDVP.        -   Information written in the secondary audio video clip            element SCAVCP (see FIGS. 54A and 54B), the substitute audio            video clip element SBAVCP or the substitute audio clip            element SBADCP such as a playback timing on the title            timeline TMLE concerning various kinds of playback/display            objects in the secondary video set SCDVS.        -   Management information concerning the secondary video set            SCDVS such as time map information STMAP (see FIG. 12) of            the secondary video set.    -   The secondary video player SCDVP sets initial parameters based        on the above-described information.    -   The primary video player SCDVP performs preparation for        connection between a necessary decoder module in the decoder        engine DCDEN and the secondary video player SCDVP (see FIG. 37).

Upon completion of the preparation for playback of the title, playbackof a track from which information is to be played back is started (stepS65). At this time, the advanced content playback unit ADVPL startscounting up the title timeline TMLE, and performs playback/displayprocessing of each playback/display object with progress of the titletimeline TMLE in accordance with a schedule written in the objectmapping information OBMAPI. When the title is played back at the stepS65, if a user wants to perform playback by using a new updated title,execution of update processing of a playlist file PLLST is started (stepS66).

When execution of update processing of the playlist file PLLST isstarted at the step S66 as described above, retrieval processing ofjudging whether a new playlist file PLLST exists is started as the nextstep. In order to perform update concerning the method of playing backadvanced contents ADVCT, update processing using an advanced applicationADAPL must be executed. In order to perform update processing concerningthe playback method using the advanced application ADAPL, the advancedapplication ADAPL recorded in the information storage medium DISC musthave from the beginning a script sequence (a processing program set by ascript SCRPT) in which a function of “searching the latest playlistPLLST to execute update processing” is set. The script sequence searchesfor a position where the updated latest playlist file PLLST is stored.Generally, it is often the case that the updated latest playlist filePLLST is stored in the network server NTSRV. Here, when the new playlistfile PLLST exists in the network server NTSRV, download processing ofthe playlist file PLLST is executed (step S69). When the new playlistfile PLLST does not exists, whether playback of a title is to beterminated is judged (step S68), and termination processing is executedif playback of the title should be terminated to meet a user's request.If a user permits playback based on the old playlist file PLLST, thecontrol returns to continuous playback of the title at the step S65. Adescription will now be given as to download processing (step S69) ofthe playlist file PLLST. As shown in FIG. 1, the advanced contentplayback unit ADVPL exists in the information recording and playbackapparatus 1 in this embodiment, and the navigation manager NVMNG existsin the advanced content playback unit ADVPL as shown in FIG. 14. Theadvanced application manager ADAMNG exists in the navigation managerNVMNG (see FIG. 28), and a programming engine PRGEN exists in theadvanced application manager ADAMNG. If a new playlist file PLLST existsin the network server NTSRV, a script file SCRPT (the script sequence)in the advanced application ADAPL is activated in the programming enginePRGEN, and the latest playlist file PLLST is downloaded to the filecache FLCCH or the persistent storage PRSTR from the network serverNTSRV. When the download processing of the latest playlist file PLLST isterminated, whether this playlist file PLLST is used for playback isthen judged. If a user does not use the updated playlist file PLLST forthe next playback but the updated playlist file PLLST is temporally usedat step S70, the playlist file PLLST is temporarily stored in the filecache FLCCH. In this case, the current playlist file PLLST (beforeupdating) is read for the next playback. Furthermore, if a user requeststo use the latest playlist file PLLST for the next playback at the stepS70, the updated playlist file PLLST must be stored in the file cacheFLCCH and also stored in a specific region specified by a provider IDand a content ID in the persistent storage PRSTR as indicated at stepS71. As a result, the updated playlist file PLLST is prepared to beplayed back in the advanced content playback unit ADVPL for the nextplayback. Moreover, soft reset processing must be carried out at stepS72 irrespective of storage of the updated playlist file PLLST in thepersistent storage PRSTR in accordance with a user's request. In orderto restart a sequence of starting playback of the advanced contentsADVCT, the advanced application ADAPL must issue a soft rest API(command). The soft reset API (command) is used to register contents ofthe updated playlist file PLLST with respect to the advanced applicationmanager ADAMNG (and the advanced application presentation engine AAPENshown in FIG. 30) illustrated in FIG. 28 and reset current variousparameters and playback configuration (various kinds of configurationinformation required for playback). Then, a system configuration ischanged (processing similar to the step S62) based on contents of theupdated playlist file PLLST, and the following processing is executed.

-   -   The advanced content playback unit ADVPL again stores the        temporarily saved latest playlist file PLLST in the file cache        FLCCH.    -   The advanced content playback unit ADVPL again stores an        assignment information file in accordance with contents of the        latest playlist file PLLST again stored in the file cache FLCCH.

After executing the soft reset processing (step S72), object mapping andinitialization of a playback sequence based on a title timeline TMLE atthe step S63 are subsequently carried out.

<Transition Sequence between Advanced VTS and Standard VTS)>

For disc category type 3 playback, it requires playback transitionbetween Advanced VTS and Standard VTS. FIG. 52 shows a flow chart ofthis sequence.

-   -   Play Advanced Content

Disc category type 3 disc playback shall start from Advanced Contentplayback. During this phase, user input events are handled by theNavigation Manager. If any user events which should be handled by thePrimary Video Player are occurred, the Playlist Manager has to guaranteeto transfer them to the Primary Video Player.

-   -   Encounter Standard VTS playback event

Advanced Content shall explicitly specify the transition from AdvancedContent playback to Standard Content playback by the play function ofthe StandardContentPlayer object in Advanced Navigation. The playbackstart position shall be decided by an argument of this function andSPRMs. When the Advanced Application Manager encounters the playfunction of the StandardContentPlayer object, the Advanced ApplicationManager requests Playlist Manager to suspend playback of Advanced VTS toPrimary Video Player. In this time, player state machine moves toSuspend State. After that, the Advanced Application Manager calls theplay function of the StandardContentPlayer object.

-   -   Play Standard VTS

When the Playlist Manager issues the play function of theStandardContentPlayer object, the Primary Video Player jumps to startStandard VTS from specified position. During this phase, the NavigationManager is being suspended, so user event has to be inputted to thePrimary Video Player directly. During this phase, the Primary VideoPlayer is responsible for all playback transition among Standard VTSsbased on navigation commands.

-   -   Encounter Advanced VTS playback command

Standard Contend shall explicitly specify the transition from StandardContent playback to Advanced Content playback byCallAdvancedContentPlayer of Navigation Command. When the Primary VideoPlayer encounter the CallAdvancedContentPlayer command, it stops to playStandard VTS, then resumes Playlist Manager from execution point justafter calling the play function of the StandardContentPlayer object. Inthis time, player state machine moves to Playback State or Pause State.

More intelligible explanations will be provided below.

In FIG. 6, the description has been given as to a transitionrelationship obtained by advanced content playback and standard contentplayback. A flowchart of FIG. 52 shows a transition relationship ofadvanced contents ADVCT playback and standard contents STDCT playbackcorresponding to FIG. 6 at the time of actual transition.

In an initial state immediately after starting the sequence, playbackprocessing of the advanced contents is executed as described at stepS81. Then, when generation processing of the standard contents STDCT isnot encountered (step S82), playback of the advanced contents ADVCT isrepeated until the playback processing of the advanced contents ADVCT isterminated (a step 85), and termination processing is started uponcompletion of playback of the advanced contents ADVCT. When the playbackprocessing of the standard contents STDCT is started during playback ofthe advanced contents ADVCT (step S82), the control shifts to playbackof the standard contents (step S83). Then, playback of the standardcontents STDCT is repeated until a playback command of the advancedcontents ADVCT is received (step S84). The playback command of theadvanced contents ADVCT is necessarily received (the step S84) at theend of processing, and the termination processing is executed after thecontrol returns to playback of the advanced contents ADVCT (the stepS81). In this manner, the processing is started in the playback mode ofthe advanced contents ADVCT and terminated in the playback mode of theadvanced contents ADVCT. As a result, the advanced content playback unitADVPL (see FIG. 1) in the information recording and playback unit 1 canintegrate and manage the entire sequence, thereby avoiding complicationof switching control and management of playback of various contents.

When playing back data in the information storage medium DISCcorresponding to Category 3 shown in (c) of FIG. 5, there is a casewhere both the advanced contents ADVCT and the standard contents STDCTare played back, and transition between both contents shown in FIG. 52occurs.

Each step will now be described in detail.

<Step S81: Playback Processing of Advanced Contents ADVCT>

When playing back data in the information storage medium DISCcorresponding to Category 3, playback must be started from the advancedcontents ADVCT. As shown in FIG. 1, the navigation manger NVMNG existsin the advanced content playback unit ADVPL in the information recordingand playback apparatus 1 as depicted in FIG. 14. The primary videoplayer PRMVP exists in the presentation engine PRSEN (see FIG. 14) inthe advanced content playback unit ADVPL as shown in FIG. 30. Further,the playlist manger PLMNG exists in the navigation manager NVMNG asshown in FIG. 28. If there is a user request which should be processedby the primary video player PRMVP, the playlist manager PLMNG mustguarantee to perform data transfer of the primary enhanced video objectP-EVOB recorded in the information storage medium DISC withoutinterruption.

<Step S82: Encountering Playback Processing of Standard Contents STDCT(Standard Video Title Set)>

Playback of the advanced contents ADVCT must shift to playback of thestandard contents STDCT in response to an API command called aCallStandardContentPlayer in the advanced navigation. The API commandcalled the CallStandardContentPlayer also specifies playback startposition information (information indicating a position in the standardcontents STDCT from which playback is started) in the standard contentsSTDCT. As shown in FIG. 14, the navigation manager NVMNG and thepresentation engine PRSEN exist in the advanced content playback unitADVPL. Furthermore, the advanced application manger ADAMNG and theplaylist manager PLMNG exist in the navigation manager NVMNG as shown inFIG. 28, and the primary video player PRMVP exists in the presentationengine PRSEN as depicted in FIG. 30. As indicated at the step S81, ajudgment is always made upon whether playback processing of the standardcontents STDCT (the standard video title set) is encountered asindicated at the step S82 during playback processing of the advancedcontents ADVCT. Here, when playback processing of the standard contentsSTDCT is encountered, the advanced application manger ADAMNG judges uponthe need to issue the CallStandard ContentPlayer API command. When ascene where the CallStandardContentPlayer API command must be issued isencountered, the advanced application manager ADAMNG requests theplaylist manager PLMNG to stop playback of the advanced contents ADVCT.The primary video player PRMVP stops playback of the advanced contentsADVCT in response to the request. At the same time, the advancedapplication manager ADAMNG calls the CallStandardContentPlayer APIcommand with respect to the playlist manger PLMNG.

<Step S83: Playback of Standard Contents STDCT (Standard Video TitleSet)>

When the playlist manager PLMNG issues the CallStandardContentPlayer APIcommand, the primary video player PRMVP jumps from a position whereplayback of the advanced contents ADVCT is interrupted to a positionwhere playback of the standard contents STDCT is started. As shown inFIG. 1, the information recording and playback apparatus 1 includes thestandard content playback unit STDPL and the advanced content playbackunit ADVPL. The primary video player PRMVP exists in the advancedcontent playback unit ADVPL shown in FIG. 30 in this embodiment, butthis embodiment is characterized in that the primary video player PRMVPis also shared in the standard content playback unit STDPL. Therefore,at the time of playback of the standard contents STDCT at the step S83,the primary video player PRMVP in the standard content playback unitSTDPL executes processing to playback/display the standard contentsSTDCT. During this phase, a suspended state of the navigation managerNVMNG is maintained. As a result, an event specified by a user isdirectly input to the primary video player PRMVP. During this phase, theprimary video player PRMVP copes with the transition of playback(playback position jump processing) in the standard contents STDCT inresponse to a command based on a navigation command.

<Step S84: Reception Confirmation of Playback Command of AdvancedContents ADVCT>

The transition from playback processing of the standard contents STDCTto playback processing of the advanced contents ADVCT is specified by acommand called a “CallAdvancedContentPlayer” which is one type of thenavigation commands. When the primary video player PRMVP receives theCallStandardContentPlayer API command, playback of the standard contentsSTDCT is stopped. Then, the playlist manager PLMNG executes processingto restart playback from a position where playback is interrupted inresponse to the CallStandardContentPlayer API command during playbackprocessing of the advanced contents ADVCT.

<Presentation Clip Element and Object Mapping Information>(Again)

A description will now be given as to time related information used fordata in a primary audio video clip element PRAVCP tag and data in asecondary audio video clip element SCAVCP tag shown in FIGS. 54A and54B, data in a substitute audio video clip element SBAVCP tag and datain a substitute audio clip element SBADCP tag shown in FIGS. 55A and55B, data in an advanced subtitle segment element ADSTSG tag and data inan application segment element APPLSG tag depicted in FIGS. 56A and 56Bwith reference to FIG. 53.

In this embodiment, a display timing of each playback/display object fora user is written in a playlist file PLLST by using a display start timeTTSTTM and an end time TTEDTM on a title timeline TMLE. The start timeTTSTTM on the title timeline TMLE at this moment is written in the formof titleTimeBegin attribute information in object mapping informationOBMAPI in the playlist file PLLST. Furthermore, likewise, the end timeTTEDTM on the title timeline TMLE is written in the form of titleTimeEndattribute information. Each of the start time TTSTTM and the end timeTTEDTM on the title timeline TMLE in this embodiment is represented as acount number on the title timeline TMLE. As a method of displaying atime on the title timeline TMLE, an elapsed time from the start time onthe title timeline TMLE is described as “HH:MM:SS:FF”. That is, “HH” inthe time display method means an hour unit, and a value from “00” to“23” is used. Moreover, “MM” represents a minute unit, and a numericfigure from “00” to “59” is used. Additionally, “SS” means a secondunit, and a value from “00” to “59” is used. Further, “FF” means a framerate. In case of 50 frames per second (50 fps: a PAL system), a countnumber from “00” to “49” is used as a value of “FF”, and it isincremented as one second when “FF” reaches “50”. Furthermore, when theframe rate is a 60 hertz system (60 fps; an NTSC system), a value from“00” to “59” is used for “FF” as a count value. In this case, it isregarded that one second has elapsed when a value of “FF” reaches 60,and carry to a value of second is performed. A start position in theplayback/display object (the primary enhanced video object data P-EVOB,the secondary enhanced video object data S-EVOB or the like) which isstarted to be played back at the start time TTSTTM (titleTimeBegin) onthe title timeline TMLE is represented as a start position VBSTTM(clipTimeBegin attribute information) on the enhanced video object dataEVOB. A value of the start position VBSTTM (clipTimeBegin attributeinformation) on the enhanced video object data EVOB is described basedon a presentation start time (a presentation time stamp value) PTS of acode frame in a video stream in the primary enhanced video object dataP-EVOB (or the secondary enhanced video object data S-EVOB). As shown inFIG. 12, reference is made to a time map PTMAP of the primary video setor a time map STMAP of the secondary video set from the playlist PLLST,thereby accessing the enhanced video object EVOB through the time mapPTMAP or STMAP. The time map PTMAP or STMAP is used to convert specifiedtime information into relative address information in the enhanced videoobject EVOB. Therefore, specifying a value of the start position VBSTTM(clipTimeBegin attribute information) on the enhanced video object dataEVOB based on the presentation start time (the presentation time stampvalue) PTS as time information can obtain an effect of facilitating theaccess control.

Furthermore, an entire playback period OBTPT of the enhanced videoobject data P-EVOB of the primary video set PRMVS or the enhanced videoobject data S-EVOB of the secondary video set SCDVS as aplayback/display object is defined. This embodiment defines thefollowing conditions with respect to the four types of time information.titleTimeBegin<titleTimeEndtitleTimeEnd≦titleDuration

Providing the conditions avoids the overflow of a display time andassures the easiness of time management control. Attribute informationconcerning titleDuration in the relational expression exists in thetitle element information TTELEM tag shown in FIGS. 24A and 24B, andmeans time length information of an entire title on the title timelineTMLE. Moreover, in this embodiment, a condition of a whole playbackperiod OBTPT which is clipTimeBegin+titleTimeEnd−titleTimeBegin ≦objectdata is also set. If the conditions are set, a playback time rangespecified on the title timeline TMLE does not go beyond the wholeplayback period OBTPT of the enhanced video object data EVOB, therebyguaranteeing stable playback/management. In regard to the enhanced videoobject data P-EVOB of the primary video set PRMVS or the enhanced videoobject data S-EVOB of the secondary video set as a playback/displayobject, reference is made to the time map file PTMAP of the primaryvideo set PRMVS or the time map file STMAP of the secondary video setSCDVS as mentioned above (see FIG. 12). Information of the startposition VBSTTM (clipTimeBegin attribute information) on the enhancedvideo object data EVOB is converted into physical address informationindicative of a position on the information storage medium DISC whereplayback is started by making reference to the time map file PTMAP ofthe primary video set PRMVS or the time map file STMAP of the secondaryvideo set. As a result, an optical head (not shown) existing in theinformation recording and playback unit 2 in the information recordingand playback apparatus 1 shown in FIG. 1 directly accesses the specifiedaddress position on the information storage medium DISC, wherebyplayback can be started from the start position VBSTTM (clipTimeBeginattribute information) in the enhanced video object data EVOB. Further,when performing playback/display, information of a video title setinformation file ADVTSI of the advanced contents ADVCT can be utilizedto set various kinds of conditions of the decoder engine DCDEN in theadvanced content playback unit ADVPL.

Object mapping information OBMAPI has a display valid period of each ofvarious playback/display objects on a title timeline TMLE. The displayvalid period means a period from a start time TTSTTM (titleTimeBegin) ona title timeline TMLE to an end time TTEDTM (titleTimeEnd) on the titletimeline TMLE. When a plurality of primary audio video clip elementsPRAVCP are written in the object mapping information OBMAPI on the titletimeline TMLE, the primary audio video clip elements PRAVCP must notoverlap each other on the title timeline TMLE. That is, in thisembodiment, as shown in FIG. 37, there is only one main video decoderMVDEC corresponding to the primary audio video PRMAV. Therefore, whendisplay periods of the plurality of primary audio video clip elementsPRAVCP overlap each other on the title timeline TMLE, objects to bedecoded in the main video decoder conflict with each other, and theycannot be stably played back. Therefore, setting the above-describedconditions can assure stabilization of a display screen for a user.Likewise, in case of writing a plurality of secondary audio video clipelements SCAVCP in object mapping information OBMAPI on the titletimeline TMLE, the respective secondary audio video clip elements SCAVCPmust not overlap each other on the title timeline TMLE. The secondaryaudio video SCDAV managed by the secondary audio video clip elementSCAVCP includes sub video SUBVD and sub audio SUBAD as shown in FIG. 10.As depicted in FIG. 37, since there is only one sub video decoder SVDECwhich decodes the secondary audio video, when these elements overlap, aconfusion occurs in the sub-video decoder SVDEC. Therefore, there is therestriction in order to stably display a moving image. When a pluralityof substitute audio clip elements SBADCP exist on the object mappinginformation OBMAPI, valid periods of the respective substitute audioclip elements SBADCP must not overlap each other on the title timelineTMLE. When a plurality of substitute audio video clip elements SBAVCPexist in the object mapping information OBMAPI, likewise, valid periodsof the respective substitute audio video clip elements SBAVCP must notoverlap each other on the title timeline TMLE. Further, in thisembodiment, a valid period of a primary audio video clip element PRAVCPon the title timeline TMLE must not overlap an valid period of asubstitute audio video clip element SBAVCP on the title timeline TMLE.Furthermore, in this embodiment, likewise, valid periods of a substituteaudio video clip element SBAVCP, a secondary audio video clip elementSCAVCP and a substitute audio clip element SBADCP must not overlap eachother on the title timeline TMLE. Setting these conditions can preventplayback/display objects to be displayed in each of various decodersfrom overlapping, and assure stability of a screen to be displayed for auser.

As another method of assuring stability of a screen to be displayed fora user, in this embodiment, the following ingenuities are exercised inorder to decrease an access frequency of an optical head (not shown)existing in the information recording and playback unit 2 shown inFIG. 1. In FIGS. 54A, 54B, 55A and 55B, a storage position SRCTMP of aplayback/display object is recorded in each of various clip element tagsas src attribute information (source attribute information). In thisembodiment, values of the src attribute information written in aplurality of clip elements having overlapping valid periods on the titletimeline TMLE are restricted from being set in the information storagemedium DISC in an overlapping manner. That is, when valid periods of theplayback/display objects specified by the plurality of clip elementsoverlap on the title timeline TMLE, an access frequency on the sameinformation storage medium DISC is increased, and the continuity inplaying back the playback/display objects cannot be assured. Therefore,in this embodiment, not only the above-described conditions are set, butalso the flowing ingenuities are exercised. That is, when displayperiods of a plurality of playback/display objects stored in the sameinformation storage medium DISC overlap on the title timeline TMLE eventhough the above-described conditions are set, playback/display objectsmanaged by clip elements other than the primary audio video clip elementPRAVCP are temporarily stored in the data cache DTCCH in advance, anddata is played back from the data cache. As a result, a frequency ofaccess to the information storage medium DISC can be reduced, therebyassuring the continuity of playback.

In this embodiment, as contents of information written in a playlistfile PLLST, there are configuration information CONFGI, medium attributeinformation MDATRI and title information TTINFO as shown in (a) of FIG.23A. The title information TTINFO includes a first play title elementFPTELE, title element information TTELEM concerning each title and aplaylist application element PLAELE as shown in (b) in FIG. 23A, and thetitle element information TTELEM includes object mapping informationOBMAPI, resource information RESRCI, playback sequence informationPLSQI, track navigation information TRNAVI and a scheduled controlinformation SCHECI as shown in (c) in FIG. 23A. In the object mappinginformation OBMAPI can be recorded a primary audio video clip elementPRAVCP, a substitute audio video clip element SBAVCP, a substitute audioclip element SBADCP, a secondary audio video clip element SCAVCP, anadvanced subtitle segment element ADSTSG and an application segmentelement APPLSG as shown in (c) of FIG. 24B. FIG. 54B (c) shows adetailed data configuration of the primary audio video clip elementPRAVCP. As shown in FIG. 54A (b), a data configuration in a primaryaudio video clip element PRAVCP tag is constituted of ID informationPRAVID of the primary audio video clip element PRAVCP and attributeinformation PRATRI of the primary audio video clip element PRAVCP. Asshown in (c) of FIG. 54B, as to the ID information PRAVID of the primaryaudio video clip element PRAVCP, “id=” is written, and then the IDinformation PRAVID of the primary audio video clip element PRAVCP iswritten. Likewise, FIG. 54B (d) shows a specific data configuration ofthe secondary audio video clip element SCAVCP. A data configuration in asecondary audio video clip element SCAVCP is constituted of IDinformation SCAVID of the secondary audio video clip element SCAVCP andattribute information SCATRI of the secondary audio video clip elementSCAVCP.

<PrimaryAudioVideoClip (primary audio video clip) element>

PrimaryAudioVideoClip element is a Presentation Clip element for PrimaryAudio Video.

PrimaryAudioVideoClip element describes Object Mapping Information ofPrimary Audio Video, and Track Number Assignment of elementary streamsin Primary Audio Video. PrimaryAudioVideoClip element refers a P-EVOB,or an Interleaved Block of P-EVOB as the Presentation Object.PrimaryAudioVideoClip element describes the mapping of the PresentationObject on a time period in Title Timeline and the Track NumberAssignment of elementary streams in P-EVOB.

XML Syntax Representation of PrimaryAudioVideoClip element:<PrimaryAudioVideoClip id = ID dataSource = (Disc) titleTimeBegin =timeExpression clipTimeBegin = timeExpression titleTimeEnd =timeExpression src = anyURI seamless = (true | false) description =string >  Video *  Audio *  Subtitle *  SubVideo ?  SubAudio *</PrimaryAudioVideoClip>

The src attribute describes a P-EVOB, or an Interleaved Block of P-EVOBis represented by this element. The titleTimeBegin and titleTimeEndattribute describe the start time and end time of valid period of P-EVOB(or Interleaved Block of P-EVOB), respectively. The clipTimeBeginattribute describes the starting position of the P-EVOB.

The content of PrimaryAudioVideoClip is a list of Video element, Audioelement, Subtitle element, SubVideo element and SubAudio element, whichdescribe Track Number Assignment for elementary streams in P-EVOB.

If the PrimaryAudioVideoClip element refers to Interleaved Block ofP-EVOB, Video element describes Track Number Assignment for an availableangle number of an Interleaved Block of P-EVOB and an angle number shallbe assigned to a P-EVOB in Interleaved Block. Otherwise at most oneVideo element can be present, the angle number attribute of the Videoelement shall be ‘1’ and the video stream in VM PCK of P-EVOB shall beassigned to Video Track number ‘1’.

Audio element describes which Audio stream in AM_PCK of P-EVOB isavailable and is assigned to Audio Track number.

Subtitle element describes which Sub-picture stream in SP_PCK of P-EVOBis available and is assigned to Subtitle Track number.

SubAudio element describes which Sub Audio stream in AS_PCK of P-EVOB isavailable and is assigned to Sub Audio Track number.

SubVideo element describes the availability of Sub Video stream inAV_PCK of P-EVOB. If SubVideo element is described, the Sub Video streamin P-EVOB is enabled and is assigned to Sub Video number ‘1’.

(a) dataSource attribute

Describes the Data Source of Presentation Object. If the value is ‘Disc’the P-EVOB shall be in Disc. If no dataSource attribute is presented,the dataSource shall be ‘Disc’.

(b) titleTimeBegin attribute

Describes the start time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(c) titleTimeEnd attribute

Describes the end time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(d) clipTimeBegin attribute

Describes the starting position in a Presentation Object. The valueshall be described in timeExpression value defined in Datatypes. Theattribute value shall be the presentation start time (PTS) ofCoded-Frame of the video streams in P-EVOB (S-EVOB). The clipTimeBegincan be omitted. If no clipTimeBegin attribute is presented, the startingposition shall be ‘00:00:00:00’.

(e) src attribute

Describes the URI of the index information file of the PresentationObject to be referred.

(f) seamless attribute

Describes the seamless flag. If the value ‘true’ this and the one mappeddirectly before this satisfy the seamless conditions. The value shall be‘false’ if the seamless condition is not satisfied. This attribute canbe omitted. The default value is ‘false’.

(g) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

As shown in FIG. 18, the primary audio video clip element means aplayback/display clip element concerning primary audio video PRMAV. Inthe primary audio video clip element PRAVCP are written contents ofobject mapping information OBMAPI of the primary audio video PRMAV andtrack number assignment information of the primary audio video PRMAV. Inthe primary audio video clip element PRAVCP is written playback anddisplay management information concerning a primary enhanced videoobject P-EVOB or an interleaved block of the primary enhanced videoobject P-EVOB as a playback/display object. Further, in the objectmapping information OBMAPI are written a mapping status of aplayback/display object (the primary enhanced video object P-EVOB) on atitle timeline TMLE (see the part of the object mapping informationOBMAPI in FIG. 17) and track number assignment information concerningvarious kinds of elementary streams in the primary enhanced video objectP-EVOB. The “src attribute information (source attribute information)”in FIGS. 54B(c) and (d) means a storage position SRCTMP of an indexinformation file (a time map file PTMAP of a primary video set) withrespect to a playback/display object (primary enhanced video object dataP-EVOB of the primary audio video PRMAV) managed by thePrimaryAudioVideoClip PRAVCP or a storage position SRCTMP of an indexinformation file (a time map file STMAP of a secondary video set) withrespect to a playback/display object (secondary enhanced video objectS-EVOB of the secondary audio video SCDAV) managed by theSecondaryAudioVideoClip SCAVCP. The storage position SRCTMP of the indexinformation file is written in accordance with a URI (uniform resourceidentifier) format.

In this embodiment, the storage position SRCTMP of the index informationof a playback/display object which should be referred in the primaryaudio video clip element PRAVCP shown in (c) of FIG. 54B is notrestricted to the above-described contents, and it is possible to set astorage position of an index information file (a time map PTMAP of aprimary video set or a time map STMAP of a secondary video set)corresponding to primary enhanced video object data P-EVOB or aninterleaved block of primary video enhanced video object data P-EVOB.That is, as shown in FIG. 18, a file name displayed as an index whenplayed back/used in a primary audio video clip element PRAVCP is a timemap file PTMAP of a primary video set, and a position where the time mapfile PTMAP of the primary video set is recorded is written in the “srcattribute information”. As shown in FIG. 53, a start time TTSTTM on atitle timeline TMLE (titleTimeBegin attribute information) and an endtime TTEDTM on the title timeline TMLE (titleTimeEnd attributeinformation) represents a start time and an end time of a valid periodof the primary enhanced video object data P-EVOB or (an interleavedblock of) the primary enhanced video object data P-EVOB, respectively.Further, a start position VBSTTM in enhanced video object data EVOB(clipTimeBegin attribute information) means a start position VBSTTM ofprimary enhanced video object data P-EVOB in a primary video set PRMVS,and it is represented as a presentation start time (a presentation timestamp value) PTS of a video stream existing in the primary enhancedvideo object data P-EVOB (see FIG. 53). The three types of timeinformation are represented as “HH:MM:SS:FF” in a primary audio videoclip element PRAVCO, and written in the form of“hour:minute:second:field (the number of frames)”. As shown in FIG. 10,primary audio video PRMAV includes main video MAMVD, main audio MANAD,sub video SUBVD, sub audio SUBAD and sub-picture SUBPT. In accordancewith this structure, a primary audio video clip element PRAVCP isconstituted of a list of a main video element MANVD, a main audioelement MANAD, a subtitle element SBTELE, a sub video element SUBVD anda sub audio element SBAD. Furthermore, the list also includes tracknumber assignment information (track number setting information for eachelementary stream) in primary enhanced video object data P-EVOBS. Inthis embodiment, when a plurality of sets of picture information forrespective angles corresponding to multi-angle or the like are presentand recorded in the information storage medium DISC, information of theprimary enhanced video object data is stored in the form of aninterleaved block. When management information is recorded with respectto the primary enhanced video object data P-EVOB constituting aninterleaved block by the primary audio video clip element PRAVCP, atrack number assignment (a track number) setting method is written inthe main video element MANVD in regard to angle number information whichcan be indicated in the interleaved block. That is, as will be describedlater, an angle number (angle number information ANGLNM (angleNumberattribute information) selected in the interleaved block shown in (c) ofFIG. 59C) is defined in tag information corresponding to a main videoelement, and it is possible to associate an angle number which should beindicated in the tag information of the main video element MANVD. Themain audio element MANAD indicates which an audio stream (AM_PCK) in theprimary enhanced video object data P-EVOB can be played back, and such astream is set based on an audio track number. Moreover, the subtitleelement SBTELE indicates which sub-picture stream (SP_PCK) in theenhanced video object data P-EVOB can be played back, and this stream isset based on a subtitle track number. Additionally, the sub audioelement SUBAD indicates whether which sub-picture stream (SP_PCK) in theprimary enhanced video object data P-EVOB can be played back, and thisstream is set based on a sub-audio track number. Further, the sub videoelement SUBVD also indicates the possibility of display of a sub-videostream (VS_PCK) in the primary enhanced video object data P-EVOB. If thesub video element SUBVD is written in object mapping information OBMAPIin the playlist file PLLST, a sub video stream in the enhanced videoobject data P-EVOB of the primary video set PRMVS can be played back. Insuch a case, this stream is set to a sub-video number “1”.

A description will now be given as to data in primary audio video clipelement attribute information PRATRI. As shown in (c) of FIG. 54B, eachinformation is written immediately after “dataSource=”,“titleTimeBegin=”, “clipTimeBegin=”, “titleTimeEnd=”, “src=”,“seamless=”and “description=”. As shown in FIG. 18, the primary audiovideo PRMAV is recorded in the information storage medium DISC. Inaccordance with this structure, as a value of a data source DTSORC inwhich a playback/display object is recorded, “Disc” must be written.When “Disc” is recorded as a value of the data source DTSORC in whichthe playback/display object is recorded, primary enhanced video objectdata P-EVOB of corresponding primary audio video PRMAV is recorded inthe information storage medium DISC. The description of the data sourceDTSORC in which the playback/display object is recorded can beeliminated in the primary audio video clip element. However, ifinformation of the data source DTSORC in which the playback/displayobject is recorded is not written, it is considered that information“Disc” is written in regard to the corresponding data source DTSORC inwhich the playback/display object is recorded. Further, as shown in FIG.53, the start time TTSTTM (titleTimeBegin) on the title timeline TMLEand the start position VBSTTM (clipTimeBegin) in the enhanced videoobject data represent times synchronized with each other on a time axis.That is, a correspondence relationship between the start time TTSTTM(titleTimeBegin) on the title timeline TMLE expressed as a frame countnumber based on the notation method of “HH:MM:SS:FF” and the startposition VBSTTM in the enhanced video object data EVOB represented as apresentation start time (a presentation time stamp value) PTS can beobtained from the above-described information. Therefore, theabove-described relationship can be utilized to convert an arbitrarytime on the title timeline TMLE in a valid period from the start timeTTSTTM (titleTimeBegin) to the end time TTEDTM (titleTimeEnd) on thetitle timeline into a presentation start time (a presentation time stampvalue) PTS in a video stream of the enhanced video object data EVOB. Inthe primary audio video clip element PRAVCP, information of the startposition VBSTTM (clipTimeBegin) in the enhanced video object data EVOBcan be eliminated. If the description of the start time VBSTTM(clipTimeBegin) in the enhanced video object data EVOB is eliminated,playback is started from a leading position of the primary enhancedvideo object data file P-EVOB in the primary video set PRMVS. In thisembodiment, a description of additional information concerning thePrimaryAudioVideoClip can be eliminated in the primary audio video clipelement tag. Furthermore, seamless flag information (seamless attributeinformation) means information indicative of whether seamless playback(continuous playback without interruption) of the primary audio videoPRMAV managed by the primary audio video clip element PRAVCP can beguaranteed. If the value is “true”, this guarantees that continuoussmooth playback of pictures can be performed without interruption atboundaries between these pictures when playback of the primary audiovideo PRMAV mapped on the title timeline TMLE immediately beforeplayback is directly switched to playback of different primary audiovideo PRMAV managed by the primary audio video clip element PRAVCP.Moreover, if the value is “false”, this means that continuous playback(seamless conditions) at the boundaries is not satisfied. Thedescription of the seamless flag information SEAMLS (seamless attributeinformation) can be eliminated. In such a case, the value “false” as adefault value is automatically set.

This embodiment is characterized in that information written in eachclip element tag in object mapping information OBMAPI is all equallywritten with “ID=ID information” being placed at a top position (seeFIGS. 55A and 55B/FIGS. 56A and 56B). As a result, not only a pluralityof same clip elements can be set in the same object mapping informationOBMAPI (the same clip elements can be identified from each other basedon the “ID information”), but also the respective clip elements can beeasily identified by using the playlist manager PLMNG (see FIG. 28),thereby obtaining an effect of shortening a startup time before playbackis started. Moreover, as shown in FIG. 82, the “ID information” can beused to specify a necessary clip element based on an API command,thereby facilitating API command processing. At the same time, thisembodiment is also characterized in that, in all of information writtenin respective clip element tags in the object mapping informationOBMAPI, “description=additional information” is written at the lastposition (see FIGS. 55A and 55B/FIGS. 56A and 56B). As a result, therecan be obtained an effect of facilitating retrieval of “additionalinformation” for each clip element by the playlist manager PLMNG (seeFIG. 28). Additionally, in this embodiment, “titleTimeBegin=[a starttime TTSTTM on a title timeline]” is first written in all of informationwritten in each clip element tag in the object mapping informationOBMAPI irrespective of a type of the clip element tag, and“titleTimeEnd=[an end time TTEDTM on a title timeline]” is arrangedbehind this data, whereby “clipTimeBegin=[a start time VBSTTM from aleading position in enhanced video object data]” can be inserted andarranged between these descriptions depending on each clip element tag.The description order with respect to the three types of timeinformation are equally used in all clip element tags in this manner,thereby achieving facilitation and speedup of retrieval of relevantinformation in each clip element by the playlist manager PLMNG (see FIG.28).

<SecondaryAudioVideoClip (Secondary Audio Video Clip) Element>

SecondaryAudioVideoClip element is a Presentation Clip element forSecondary Audio Video. Secondary Audio Video is in S-EVOB of SecondaryVideo Set, which contains Sub Audio and Sub Video.

SecondaryAudioVideoClip element describes Object Mapping Information ofSecondary Audio Video in a Title, and Track Number Assignment ofelementary streams in an S-EVOB of Secondary Audio Video.

Secondary Audio Video can be Disc content, network streaming, orpre-downloaded content on Persistent Storage, or File Cache.

XML Syntax Representation of SecondaryAudioVideoClip element: <SecondaryAudioVideoClip  id = ID  dataSource = (Disc | P-Storage |Network | File Cache)  titleTimeBegin = timeExpression  clipTimeBegin =timeExpression  titleTimeEnd = timeExpression  src = anyURI  preload =timeExpression  sync = (hard | soft | none)  noCache = (true | false) description = string  >   NetworkSource *   SubVideo ?   SubAudio * </SecondaryAudioVideoClip>

The src attribute describes which S-EVOB of Secondary Audio Videorepresented by this element. The titleTimeBegin and titleTimeEndattribute describe the start time and end time of valid period ofS-EVOB, respectively. The clipTimeBegin attribute describes the startingposition of the S-EVOB.

Secondary Audio Video can be exclusively used with Sub Video and SubAudio in Primary Video Set. Thus, in the valid period ofSecondaryAudioVideoClip element, Sub Video and Sub Audio in PrimaryVideo Set shall be treated as disabled.

The content of SecondaryAudioVideoClip element consists of SubVideoelement and SubAudio element, which describe Track Number Assignment forelementary streams in S-EVOB. At least one of SubVideo element, orSubAudio element shall be described.

Sub Video Track number shall be ‘1’.

If SecondaryAudioVideoClip element with SubVideo element is present, SubVideo stream in VS_PCK of S-EVOB is available and shall be decoded bySecondary Video Decoder.

If SecondaryAudioVideoClip element with SubAudio element is present, SubAudio stream in AS_PCK of S-EVOB is available and shall be decoded bySecondary Video Decoder.

NetworkSource element can be presented in this element, if and only ifthe dataSource attribute value is ‘Network’ and URI scheme of srcattribute value of parent element is ‘http’, or ‘https’. NetworkSourceelement describes the streaming source to be selected according tonetwork throughput setting.

(a) dataSource attribute

Describes the Data Source of Presentation Object. If the value is ‘Disc’the S-EVOB shall be in Disc. If the value is ‘P-Storage’ the S-EVOBshall be in Persistent Storage as pre-downloaded content. If the valueis ‘Network’ the S-EVOB shall be supplied as streaming from a networkserver. If the value is ‘FileCache’ the S-EVOB shall be supplied in FileCache. If no dataSource attribute is presented, the dataSource shall be‘P-Storage’.

(b) titleTimeBegin attribute

Describes the start time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(c) titleTimeEnd attribute

Describes the end time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(d) clipTimeBegin attribute

Describes the starting position in a Presentation Object. The valueshall be described in timeExpression value defined in Datatypes. Theattribute value shall be the presentation start time (PTS) ofCoded-Frame of the video streams in P-EVOB (S-EVOB). The clipTimeBegincan be omitted. If no clipTimeBegin attribute is presented, the startingposition shall be ‘00:00:00:00’.

(e) src attribute

Describes the URI of the index information file of the PresentationObject to be referred.

(f) preload attribute

Describes the time, on Title Timeline, when Player shall be startprefetching the Presentation Object. This attribute can be omitted.

(g) sync attribute

If sync attribute value is ‘hard’, the Secondary Audio Video isHard-synchronized Object. If sync attribute value is ‘soft’, it isSoft-synchronized Object. If sync attribute value is ‘none’, it isNon-synchronized Object. This attribute can be omitted. Default value is‘soft’.

(h) noCache attribute

If noCache attribute value is ‘true’ and dataSource attribute value is‘Network’, the ‘no-cache’ directive shall be included in bothCache-Control and Pragma in HTTP request for the Presentation Object. IfnoCache attribute value is ‘false’ and dataSource attribute value is‘Network’, ‘no-cache’ directive shall be included in neitherCache-Control, nor Pragma header. If datasource attribute value is not‘Network’, the noCache attribute shall be absent. The noCache attributecan be omitted. Default value is ‘false’.

description attribute

(i) Describes additional information in the human consumable text form.This attribute can be omitted.

More intelligible explanations will be provided below.

A data configuration in a secondary audio video clip element SCAVCP tagshown in (d) of FIG. 54B will now be described hereinafter. As shown inFIG. 18, the secondary audio video clip element SCAVCP represents aplayback/display clip element with respect to secondary audio videoSCDAV. The secondary audio video SCDAV exists in secondary enhancedvideo object data S-EVOB of a secondary video set SCDVS, and includes asub video stream SBVD and a sub audio stream SUBAD. The secondary audiovideo clip element SCAVCP represents object mapping information OBMAPIof the secondary audio video SCDAV. At the same time, the secondaryaudio video clip element SCAVCP also represents track number assignmentinformation of each elementary stream in the secondary enhanced videoobject data S-EVOB of the secondary audio video SCDAV. As shown in FIG.18, the secondary audio video SCDAV can be recorded in the informationstorage medium DISC, the persistent storage PRSTR, the network serverNTSRV and the file cache FLCCH. Therefore, not only the secondary audiovideo SCDAV can be recorded in the information storage medium DISC orthe network server NTSR, but also it may be previously downloaded in thepersistent storage PRSTR or the file cache FLCCH. SRC attributeinformation (source attribute information) shown in (d) of FIG. 54B isindicative of a storage position SRCTMP of an index information fileconcerning the secondary enhanced video object data S-EVOB. As shown inFIG. 18, a file (an index information file) to which reference is madeas an index when playing back/using the secondary audio video SCDAVmeans a time map file STMAP in a secondary video set. Additionally,information of a start time TTSTTM (titleTimeBegin) on a title timelineand information of an end time TTEDTM (titleTimeEnd) on the titletimeline represent a start time and an end time in a valid period of thesecondary enhanced video object data S-EVOB, respectively. Further, asshown in FIG. 53, a start position VBSTTM (clipTimeBegin) in theenhanced video object data indicates a start position of the secondaryenhanced video object data S-EVOB in the form of time information. Thethree types of time information are likewise represented in the form of“hour:minute:second:field (the number of frames)” which is “HH:MM:SS:FF”in the secondary audio video clip element SCAVCP. The sub video SUBVDand the sub audio SUBAD in the secondary audio video SCDAV areselectively used with respect to the sub video SUBVD and the sub audioSUBAD in the primary audio video set, and they cannot be simultaneouslyplayed back. Either the sub video SUBVD or the sub audio SUBAD alone canbe played back. Therefore, in the object mapping information OBMAPI,valid periods of the sub video SUBVD and the sub audio SUBAD in theprimary video set PRMVS on the title timeline TMLE and valid periodswritten in the secondary audio video clip element SCAVCP must bearranged in such a manner that these valid periods do not overlap eachother on the title timeline TMLE. Setting a limit on the object mappinginformation OBMAPI in this manner can avoid a conflict ofplayback/display processing in the advanced content playback unit andstably display images to a user. The secondary audio video clip elementSCAVCP includes a sub video element SUBVD and a sub audio element SUBAD.Furthermore, the sub video element SUBVD and the sub audio element SUBADin the secondary audio video clip element SCAVCP are indicative of tracknumber assignment information with respect to each elementary stream inthe secondary video set enhanced video object data S-EVOB. As shown inFIG. 10, the sub video SUBVD and the sub audio SUBAD can be included inthe secondary audio video SECDAV. On the other hand, in this embodiment,at least one sub video element SUBVD or one sub audio element SUBADalone can be written in the secondary audio video clip element SCAVCP.Moreover, in this embodiment, “1” must be set to both a sub video tracknumber and a sub audio track number. When the sub video element SUBVD iswritten in the secondary audio video clip element SCAVCP, this meansthat a sub video stream exists in VS_PCK (a secondary video pack) in thesecondary enhanced video object data S-EVOB, and the sub video streammust be subjected to record processing by the secondary video recorder(see FIG. 37). Additionally, likewise, when the sub audio element SUBADis written in the secondary audio video clip element SCAVCP, this meansthat a sub audio stream is included in AS_PCK (a secondary audio pack)of the secondary enhanced video object data S-EVOB, and this sub audiostream must be subjected to record processing by a decoder (see FIG. 37)corresponding to the secondary video player SCDVP. Contents of datasource attribute information indicative of a data source DTSORC in whicha playback/display object is recorded means the network server NTSRV.When “dataSource=Network” is written, a network source element NTSELEmust be written in the secondary audio video clip element SCAVCP.Further, as a value of src attribute information indicative of an indexinformation file storage position SRCTMP of the display/playback objectwhich should be referred at this time, a value of address informationstarting from “http” or “https” must be written. Contents of a streamingsource which should be selected in accordance with a throughput (a datatransfer rate) of the network are written in the network source elementNTSELE. As a result, there can be obtained an effect that optimumpicture information can be provided to a user in accordance with anetwork environment (a network transfer speed) of the user. Informationof one of “Disc”, “P-Storage”, “Network” and “FileCache” is writtenbehind “dataSource=” in data source attribute information in whichcontents of a data source DTSORC having a playback/display is recordedtherein is written. If “Disc” is written as this value, the secondaryenhanced video object data S-EVOB must be recorded in the informationstorage medium DISC. If this value is written as “P-Storage”, this meansthat the secondary enhanced video object data S-EVOB is recorded in thepersistent storage PRSTR. If “Network” is written as a value of the datasource attribute information, this means that the secondary enhancedvideo object data S-EVOB is streaming supplied from the network serverNTSRV. Furthermore, if “FileCache” is written as a value of the datasource attribute information, this means that information of thesecondary enhanced video object data S-EVOB is stored in the file cacheFLCCH. In this embodiment, the description of the src (source) attributeinformation can be eliminated, but a value of “P-Storage” as a defaultvalue is automatically set in such a case (which means that the datasource DTSORC in which a playback/display object is recorded is storedin the persistent storage PRSTR).

In this embodiment, the description of information of a start positionVBSTTM (clipTimeBegin) in the enhanced video object data can beeliminated. If the description of information of the start positionVBSTTM (clipTimeBegin) in the enhanced video object data is eliminated,this means that playback is started from a leading position of thesecondary enhanced video object data S-EVOB. Information is written inthe src attribute information in which an index information file storageposition SRCTMP of a playback/display objected to be referred isrecorded in the form of an URI (a uniform resource identifier). As shownin FIG. 12 or 18, reference is made to a time map file STMAP in asecondary video set from a playlist file PLLST with respect to thesecondary enhanced video object S-EVOB. Therefore, in this embodiment, astorage position SRCTMP of an index information file of aplayback/display object to be referred means a storage position of atime map file STMAP in the secondary video set. Then, information(preload attribute information) of a time PRLOAD on a title timeline atwhich fetching a playback/display object is started is indicative of atime on the title timeline TMLE at which the advanced content playbackunit ADVPL starts fetching the playback/display object (see FIG. 35A).Moreover, in this embodiment, the description of this information can beeliminated. Additionally, as a value of sync (synchronization) attributeinformation indicative of synchronization attribute information SYNCATof a playback/display object, it is possible to select one of threetypes, i.e., “hard”, “soft” and “none” in a secondary audio video clipelement tag SCAVCP. If “hard” is selected as this value, this means thatthe secondary audio video SCDAV is a hard synchronization object. Ifthis value is set, time progress on the title timeline TMLE istemporarily stopped (a period in which a screen pause state is displayedfor a user starts) and time progress on the title timeline TMLE isrestarted after completion of loading the secondary audio video SCDAV inthe data cache DTCCH when loading is not completed even though a starttime TTSTTM (titleTimeBegin) on the title timeline of the correspondingsecondary audio video SCDAV has come. Further, if a value of thesynchronization attribute information (src attribute information) is“soft”, this means a soft synchronization object. If this value is set,time progress on the title time line TMLE advances without displayingthe secondary audio video SCDAV and playback of the secondary audiovideo SCDAV is started only after completion of loading the secondaryaudio video SCDAV in the data cache DTCCH (at a time behind a start timeTTSTTM on the title timeline) when loading is not completed even thoughthe start time TTSTTM (titleTimeBegin) on the title timeline of thecorresponding secondary audio video SCDAV has come. If a value of thesync attribute information is “none”, this means that the secondaryenhanced video object data S-EVOB is not synchronized with the titletimeline TMLE and playback is carried out in an asynchronous state. Thedescription of the sync attribute information SYNCAT can be eliminatedin the secondary audio video clip element SCAVCP tag, and the syncattribute information value is set to “soft” which is a default value ifthe description is eliminated. As no-cache attribute informationindicative of no-cache attribute information NOCACH, a value which iseither “true” or “false” is written. The no-cache attribute informationNOCACH is information concerning a communication protocol of HTTP. Ifthis value is “true”, this means that a Cash-Control header and a Pragmaheader must be included in a GET request message of HTTP. In descriptionattribute information indicative of additional information concerning asecondary audio video clip element SCAVCP is written data in a textformat which is often used by a user. The description of the additionalinformation can be eliminated in the secondary audio video clip elementSCAVCP.

As shown in (a) of FIG. 23A, configuration information CONFGI, mediaattribute information MDATRI and title information TTINFO exist in aplaylist file PLLST. As shown in (b) of FIG. 23A, title elementinformation TTELEM exists with respect to each of one or more titles inthe title information TTINFO. As shown in (c) of FIG. 23A, objectmapping information OBMAPI, resource information RESRCI, playbacksequence information PLSQI, track navigation information TRNAVI andscheduled control information SCHECI exist in the title elementinformation corresponding to one title. As shown in FIGS. 55A and 55B, asubstitute audio video clip element SBAVCP and a substitute audio clipelement SBADCP exist in the object mapping information OBMAPI. A dataconfiguration in the substitute audio video clip element SBAVCP shown in(c) of FIG. 55B will now be described hereinafter.

<SubstituteAudioVideoClip (Substitute Audio Video Clip) Element>

SubstituteAudioVideoClip element is a Presentation Clip element forSubstitute Audio Video. Substitute Audio Video is in S-EVOB of SecondaryVideo Set, which contains Audio and Video.

SubstituteAudioVideoClip element describes Object Mapping Information ofSubstitute Audio Video in a Title, and Track Number Assignment ofelementary streams in an S-EVOB of Substitute Audio Video.

Substitute Audio Video can be Disc content, network streaming, orpre-downloaded content on Persistent Storage, or File Cache.

XML Syntax Representation of SubstituteAudioVideoClip element: <SubstituteAudioVideoClip  id = ID  dataSource = (Disc | P-Storage |Network | FileCache)  titleTimeBegin = timeExpression  clipTimeBegin =timeExpression  titleTimeEnd = timeExpression  src = anyURI  preload =timeExpression  sync = (hard | none)  noCache = (true | false) description = string  >   NetworkSource *   Video ?   Audio * </SubstituteAudioVideoClip>

The src attribute describes which S-EVOB of Substitute Audio Videorepresented by this element. The titleTimeBegin and titleTimeEndattribute describe the start time and end time of valid period ofS-EVOB, respectively. The clipTimeBegin attribute describes the startingposition of the S-EVOB.

The content of SubstituteAudioVideoClip element contains Video elementand Audio element, which describe Track Number Assignment for elementarystreams in S-EVOB.

If Video element is present in SubstituteAudioVideoClip element, Videostream in VM_PCK of S-EVOB is available and is assigned to the specifiedVideo Track number.

If Audio element is present in SubstituteAudioVideoClip element, Audiostream in AM_PCK of S-EVOB is available and is assigned to the specifiedAudio Track number.

NetworkSource element can be presented in this element, if and only ifthe dataSourceattribute value is ‘Network’ and URI scheme of srcattribute value of parent element is ‘http’, or ‘https’. NetworkSourceelement describes the streaming source to be selected according tonetwork throughput setting.

(a) dataSource attribute

Describes the Data Source of Presentation Object. If the value is ‘Disc’the S-EVOB shall be in Disc. If the value is ‘P-Storage’ the S-EVOBshall be in Persistent Storage as pre-downloaded content. If the valueis ‘Network’ the S-EVOB shall be supplied as streaming from a networkserver. If the value is ‘File Cache’ the S-EVOB shall be supplied inFile Cache. If no dataSource attribute is presented, the dataSourceshall be ‘P-Storage’ .

(b) titleTimeBegin attribute

Describes the start time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(c) titleTimeEnd attribute

Describes the end time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(d) clipTimeBegin attribute

Describes the starting position in a Presentation Object. The valueshall be described in timeExpression value defined in Datatypes. Theattribute value shall be the presentation start time (PTS) ofCoded-Frame of the video streams in P-EVOB (S-EVOB). The clipTimeBegincan be omitted. If no clipTimeBegin attribute is presented, the startingposition shall be ‘00:00:00:00’.

(e) src attribute

Describes the URI of the index information file of the PresentationObject to be referred.

(f) preload attribute

Describes the time, on Title Timeline, when Player shall be startprefetching the Presentation Object. This attribute can be omitted.

(g) sync attribute

If sync attribute value is ‘hard’, the Substitute Audio Video isHard-synchronized Object. If sync attribute value is ‘none’, it isNon-synchronized Object. This attribute can be omitted. Default value is‘hard’.

(h) noCache attribute

If noCache attribute value is ‘true’ and dataSource attribute value is‘Network’ , the ‘no-cache’ directive shall be included in bothCache-Control and Pragma in HTTP request for the Presentation Object. IfnoCache attribute value is ‘false’ and dataSource attribute value isNetwork’, ‘no-cache’ directive shall be included in neitherCache-Control, nor Pragma header. If dataSource attribute value is not‘Network’, the noCache attribute shall be absent. The noCache attributecan be omitted. Default value is ‘false’.

(i) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

As shown in FIG. 18, a playback/display clip element concerning thesubstitute audio video SBTAV is referred to as a substitute audio videoclip SBAVCP. As shown in FIG. 10, the substitute audio video SBTAV isincluded in a secondary video set SCDVS, and information of main videoMANVD and main audio MANAD is included in the substitute audio videoSBTAV. The substitute audio video clip element SBAVCP is indicative ofobject mapping information OBMAPI concerning the substitute audio videoSBTAV in a title. Moreover, the substitute audio video clip elementSBAVCP also indicates track number assignment information concerningeach elementary stream included in secondary enhanced video object dataS-EVOB of the substitute audio video SBTAV. As shown in FIG. 18, thesubstitute audio video SBTAV can be recorded in the information storagemedium DISC, the persistent storage PRSTR, the network server NTSRV orthe file cache FLCCH as an original storage position. A file name whichis referred as an index when playing back/using the secondary enhancedvideo object data S-EVOB as a playback object concerning the substituteaudio video SBTAV is a time map file STMAP in a secondary video set.Therefore, as src attribute information (source attribute information)written in the substitute audio video clip SBAVCP tag, information ofthe storage position SRCTMP where the time map file STMAP in thesecondary video set is recorded is written in a URI (a uniform resourceidentifier) format. As shown in (b) of FIG. 55A, a main video elementMANVD and a main audio element MANAD are included in the substituteaudio video clip element SBAVCP. An explanation concerning track numberassignment information (track number setting information) of eachelementary stream in corresponding secondary enhanced video object dataS-EVOB is written in each of the main video element MANVD and the mainaudio element MANAD in the substitute audio video clip element SBAVCP.If the description concerning the main video element MANVD exists in thesubstitute audio video clip element, this means that a video stream in amain video pack VM_PCK in the secondary enhanced video object dataS-EVOB exists and the video element stream can be played back. Further,at the same time, a specified video track number is set in accordancewith each video stream in the main video pack VM_PCK of the secondaryenhanced video object data S-EVOB. Furthermore, if a descriptionconcerning the main audio element MANAD exists in the substitute audiovideo clip element SBAVCP, this means that an audio stream exists in amain audio pack VM_PCK of the secondary enhanced video data and theaudio stream can be played back. Moreover, a specified audio tracknumber is set with respect to each audio stream in the main audio packAM_PCK of the secondary enhanced video object data S-EVOB. Additionally,when “Network” is specified as a value of a data source DTSORC(dataSource attribute information) in which a playback/display object inthe substitute audio video clip element SBAVCP shown in (c) of FIG. 55Bis recorded, a description of a network source element NTSELE exists inthe substitute audio video clip element SBAVCP as shown in (b) of FIG.55A. Additionally, when a value of the data source DTSORC in which aplayback/display object is recorded is “Network”, address information (apath) in which a value of an index information file storage positionSRCTMP (SRC attribute information) of a playback/display object to bereferred starts from “http” or “https” and a file name are written.Further, as shown in (c) of FIG. 63B, a streaming source (contents ofthe main video MANVD or the main audio MANAD in the substitute audiovideo SBTAV) selected based on a throughput (an allowable minimum valueof a data transfer rate in a network path) of a specified network iswritten in the network source element NTSELE. As a result, it ispossible to load an optimum data source (the main video MANVD or themain audio MANAD) based on a network path of a user (e.g., a datatransfer rate varies depending on each network path using an opticalcable/ADSL, a modem or the like). For example, in a network environmentwhere high-speed data communication can be established by using anoptical cable, a picture with a high resolution can be transferred asthe main video MANVD. Furthermore, on the contrary, in case of a networkenvironment using a modem (a telephone line) or the like where a datatransfer rate is low, a very long download time is required whendownloading a picture with a high resolution as the main video MANVD.Therefore, in case of a network environment using the modem or the likewhere a data transfer rate is low, the main video MANVD having a greatlylowered resolution can be downloaded. Selecting data or a file as adownload target corresponding to a plurality of network source elementsNTSELE can download a network source perfect for a network environmentof a user. A data source DTSORC (dataSource attribute information) inwhich a playback/display object is recorded represents a territory of aposition where a data source of substitute audio video SBTAV as aplayback/display object is recorded. As shown in FIG. 18, as a positionwhere the substitute audio SBRAV is originally recorded, there is theinformation storage medium DISC, the persistent storage PRSTR, thenetwork server NTSRV or the file cache FSCCH. In accordance with thisstructure, one of “Disc”, “P-Storage”, “Network” and “FileCache” iswritten as a value of the data source DTSORC in which theplayback/display object is recorded. If “Disc” is set as a value of thedata source DTSORC in which the playback/display object is recorded,this means that secondary enhanced video object data S-EVOB is recordedin the information storage medium DISC. Moreover, if a value of the datasource DTSORC in which the playback display object is recorded is“P-Storage”, the secondary enhanced video object data S-EVOB must berecorded in the persistent storage PRSTR as previously downloadedcontents. If a value of the data source DTSORC in which theplayback/display object is recorded is “Network”, the secondary enhancedvideo object data S-EVOB must be supplied as streaming from the networkserver NTSRV. Additionally, if a value of the data source DTSORC inwhich the playback/display object is recorded is “FileCache”, thecorresponding secondary enhanced video object data S-EVOB must besupplied to the file cache FLCCH. If a value of the data source DTSORCin which the playback/display object is recorded is not written inattribute information SVATRI of the substitute audio video clip element,“P-Storage” which is a default value is automatically set as a value ofthe data source DTSORC in which the playback/display object is recorded.A start time TTSTTM (titleTimeBegin attribute information) on a titletimeline and an end time TTEDTM (titleTimeEnd attribute information) onthe title timeline represent a start time TTSTTM and an end time TTEDTMof substitute audio video SBTAV (the secondary enhanced video objectdata S-EVOB) as a playback/display object on the title timeline TMLE,respectively. Additionally, these times are represented as timeinformation in the form of “HH:MM:SS:FF”. The start position VBSTTM inthe enhanced video object data represents a position in the secondaryenhanced video object data S-EVOB (substitute audio video SBTAV) wheredisplay starts in accordance with the start time TTSTTM (titleTimeBegin)on the title timeline as shown in FIG. 53, and its value is specifiedbased on a presentation start time (a presentation time stamp value) PTSof a video stream in the secondary enhanced video object S-EVOB. Acorrespondence relationship between a value of the start position TTSTTMon the title timeline and the start position VBSTTM in the enhancedvideo object data EVOB can be utilized to calculate the presentationstart time (the presentation time stamp value) PTS in the video streamfrom a value on the title timeline TMLE at an arbitrary position in avalid period. The description of the information of the start positionVBSTTM in the enhanced video object data EVOB can be eliminated in thesubstitute audio video clip element SBAVCP. When the description of thestart position VBSTTM in the enhanced video object data is eliminated inattribute information SVATRI of the substitute audio video clip elementin this manner, playback is started from a leading position of thecorresponding secondary enhanced video object data S-EVOB. A storageposition SRCTMP (SRC attribute information) of an index information fileat which substitute audio video SBTAV (a secondary enhanced video objectS_EVOB) as a playback/display object should be referred is written in aURI (a uniform resource identifier) format. As shown in FIG. 18, a filewhich is referred as the index is indicative of a position at which atime map file STMAP in a secondary video set is recorded. Further, atime PRLOAD (preload attribute information) on a title timeline at whichfetching a playback/display object is started is set to a time which isthe same as the start time TTSTTM on the title timeline or a precedingtime, and is indicative of a loading start time when the substituteaudio SBTAD is loaded in the data cache DTCCH before displaying it to auser. The description of the time PRLOAD on the title timeline at whichfetching the playback/display object is started can be eliminated fromthe attribute information SVATRI of the substitute audio video clipelement. Furthermore, one of “hard” and “none” is set as a value ofsynchronization attribute information SYNCAT (sync attributeinformation) of a playback/display object. If the value is “hard”, thecorresponding substitute audio video SBTAV represents a hardsynchronized object. A description will now be given as to a case wherenew substitute audio video SBTAV must be loaded in the data cache DTCCHwhen displaying moving images for a user. In this case, the substituteaudio video SBTAV is loaded to the data cache DTCCH from the time PRLOADon the title timeline at which fetching a playback/display object isstarted. When loading is completed before the start time TTSTTM on thetitle timeline or the substitute audio video SBTAV can be continuouslyplayed back/displayed until the end time TTEDTM on the title timelineeven during loading, playback/display of the substitute audio videoSBTAV is started from the start time TTSTTM on the title timeline. Onthe contrary, when the loading processing cannot be finished in time ora value of synchronization attribute information SYNCAT of aplayback/display object is set as “hard”, time progress (count-up) onthe title timeline TMLE is temporarily stopped, and moving images areheld in a still state for a user. Meanwhile, loading the substituteaudio video SBTAV in the data cache DTCCH is continued. When the loadingprocessing into the data cache DTCCH is completed or when the substituteaudio video SBTAV has reached a continuous playback/display enabledstate until the end time TTEDTM on the title timeline even duringloading, time progress (count-up) on the title timeline TMLE isrestarted, moving images displayed for a user start moving, andsynchronization processing of displaying the substitute audio videoSBTAV for a user is began. Furthermore, when the synchronizationattribute information SYNCAT of the playback/display object is “none”,this means an asynchronous object, and the substitute audio SBTAD isdisplayed for a user independently from progress on the title timelineTMLE (in an asynchronous state). The description of the synchronizationinformation SYNCAT of the playback/display object can be eliminated fromthe attribute information SVATRI of the substitute audio video clipelement. In this case, “hard” as a default value is automatically set.Moreover, no-cache attribute information NOCACH is informationconcerning a communication protocol of HTTPT, and one of values “true”and “false” is set. In case of “true”, a Cach-Control header and aPragma header must be included in a GET request message of HTTP.Additionally, when a value of the data source DTSORC in which theplayback/display object is recorded is written as “Network” and theno-cache attribute information NOCACH is specified as “false”, thismeans that the Cach-Control header and the Pragma header are notincluded in the GET request message of HTTP. Further, the description ofthe no-cache attribute information NOCACH can be eliminated, but “false”as a default value is automatically set in this case. Additionalinformation concerning a SubstituteAudioVideoClip is written in a textformat familiar to users. Furthermore, a description of the additionalinformation concerning the substitute audio video clip SBAVCP can beeliminated.

<SubstituteAudioClip (Substitute Audio Clip) Element>

SubstituteAudioClip element is a Presentation Clip element forSubstitute Audio. Substitute Audio is in S-EVOB of Secondary Video Setand is a Main Audio selectable with Main Audio(s) in Primary Video Set.

SubstituteAudioClip element describes Object Mapping Information ofSubstitute Audio in a Title, and Track Number Assignment of elementarystreams in an S-EVOB of Substitute Audio. Substitute Audio can besupplied from Disc, Network as Streaming, or from Persistent Storage, orFile Cache as pre-downloaded content.

XML Syntax Representation of SubstituteAudioClip element: <SubstituteAudioClip  id = ID  dataSource = (Disc | P-Storage | Network| FileCache)  titleTimeBegin = timeExpression  clipTimeBegin =timeExpression  titleTimeEnd = timeExpression  src = anyURI  preload =timeExpression  sync = (hard | soft)  noCache = (true | false) description = string  >   NetworkSource *   Audio + </SubstituteAudioClip>

The src attribute describes which S-EVOB of Substitute Audio representedby this element. The titleTimeBegin and titleTimeEnd attribute describethe start time and end time of valid period of S-EVOB, respectively. TheclipTimeBegin attribute describes the starting position of the S-EVOB.

The content of SubstituteAudioClip shall be one Audio element, whichdescribes the Audio Track number assignment to Main Audio stream inAM_PCK of S-EVOB.

NetworkSource element can be presented in this element, if and only ifthe dataSource attribute value is ‘Network’ and URI scheme of srcattribute value of parent element is ‘http’, or ‘https’. NetworkSourceelement describes the streaming source to be selected according tonetwork throughput setting.

(a) dataSource attribute

Describes the Data Source of Presentation Object. If the value is ‘Disc’the S-EVOB shall be in Disc. If the value is ‘P-Storage’ the S-EVOBshall be in Persistent Storage as pre-downloaded content. If the valueis ‘Network’ the S-EVOB shall be supplied as streaming from a networkserver. If the value is ‘FileCache’ the S-EVOB shall be supplied in FileCache. If no dataSource attribute is presented, the dataSource shall be‘P-Storage’.

(b) titleTimeBegin attribute

Describes the start time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(c) titleTimeEnd attribute

Describes the end time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(d) clipTimeBegin attribute

Describes the starting position in a Presentation Object. The valueshall be described in timeExpression value defined in Datatypes. Theattribute value shall be the presentation start time (PTS) ofCoded-Frame of the video streams in P-EVOB (S-EVOB). The clipTimeBegincan be omitted. If no clipTimeBegin attribute is presented, the startingposition shall be ‘0’.

(e) src attribute

Describes the URI of the index information file of the PresentationObject to be referred.

(f) preload attribute

Describes the time, on Title Timeline, when Player shall be startprefething the Presentation Object. This attribute can be omitted.

(g) sync attribute

If sync attribute value is ‘hard’, the Secondary Audio Video isHard-synchronized Object. If sync attribute value is ‘soft’, it isSoft-synchronized Object. This attribute can be omitted. Default-valueis ‘soft’.

(h) noCache attribute

If noCache attribute value is ‘true’ and datasource attribute value is‘Network’, the ‘no-cache’ directive shall be included in bothCache-Control and Pragma in HTTP request for the Presentation Object. IfnoCache attribute value is ‘false’ and datasource attribute value isNetwork’, ‘no-cache’ directive shall be included in neitherCache-Control, nor Pragma header. If datasource attribute value is not‘Network’, the noCache attribute shall be absent. The noCache attributecan be omitted. Default value is ‘false’.

(i) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

As shown in FIG. 10, substitute audio SBTAD exists in secondary enhancedvideo object data S-EVOB in a secondary video set SCDVS. Furthermore,the substitute audio SBTAD includes information of main audio MANAD, andthis information and main audio in a primary video set PRMVS areselectively (alternatively) displayed/played back. That is, in thisembodiment, the main audio MANAD in the primary video set PRMVS and themain audio MANAD in the substitute audio SBTAD cannot be simultaneouslydisplayed/played back for a user. A substitute audio clip element SBADCPis indicative of object mapping information OBMAPI concerning substituteaudio SBTAD in a title. Moreover, at the same time, the substitute audioclip element SBADCP is also indicative of information of track numberassignment (a track number setting) of each elementary stream insecondary enhanced video object data S-EVOB of substitute audio SBTAD.As shown in FIG. 18, the substitute audio SBTAD can be recorded in theinformation storage medium DISC, the persistent storage PRSTR, thenetwork server NTSRV or the file cache FLCCH. As shown in FIGS. 55A and55B, a plurality of main audio elements MANAD can be included in asubstitute audio clip element SBADCP. Additionally, in such a case,setting information of an audio track number of a main audio streamincluded in a main audio pack AM_PCK of secondary enhanced video objectdata S-EVOB is written in the main audio element MANAD in the substituteaudio clip element SBADCP. When “Network” is written as a value of adata source DTSORC in which a playback/display object shown in (d) ofFIG. 55B, a network source element NTSELE is written in a correspondingsubstitute audio clip element SBADCP. Further, in such a case,information of a URI (a uniform resource identifier) starting from“http” or “https” is written as a value of an index information filestorage position SRCTMP of a playback/display object to be referredshown in (d) of FIG. 55B. Furthermore, access destination information ofa streaming source which should be optimally selected is written in thenetwork source element NTSELE based on a throughput (a data transferrate) in a network environment to which the information recording andplayback apparatus 1 is connected. As a result, the informationrecording and playback apparatus 1 can automatically optimally selectinformation of substitute audio to be displayed as described in thesection of the substitute audio video clip element SBAVCP. As shown in(d) of FIG. 55B, when ID information SCAVID is written in a substituteaudio clip element SBADCP tag, it is possible to set a plurality of setsof substitute audio SBTAD which should be displayed at different timeson a title timeline TMLE in the same title. Moreover, as shown in FIG.82, when ID information SBADID is given to the substitute audio clipelement SBADCP, making reference to the substitute audio clip elementSBADCP by an API command can be facilitated, thereby simplifying APIcommand processing. Additionally, it is possible to set one of “Disc”,“P-Storage”, “Network” and “FileCache” as a value of a data sourceDTSORC in which a playback/display object in a substitute audio clipelement SBADCP tag is recorded. If “Disc” is set as this value, thismeans that secondary enhanced video object data S-EVOB is stored in theinformation storage medium DISC. Further, when this value is“P-Storage”, corresponding secondary enhanced video object data isrecorded in the persistent storage PRSTR as contents downloaded inadvance. Furthermore, when a value of the data source in which aplayback/display object is recorded is “Network”, secondary enhancedvideo object data S-EVOB is supplied as streaming transferred from thenetwork server NTSRV. Moreover, when the value is “FileCache”,corresponding secondary enhanced video object data S-EVOB is suppliedfrom the file cache FLCCH. When there is no description of the datasource DTSORC in which the playback/display object is recorded inattribute information of the substitute audio clip element, “P-Storage”which is a default value is automatically set as a value of the datasource DTSORC in which the playback/display object is recorded. A starttime TTSTTM (titleTimeBegin attribute information) on a title timelineand an end time TTEDTM (titleTimeEnd attribute information) on the titletimeline written in a substitute audio clip element SBADCP tag representstart time information and end time information in a continuous block ofa playback/display object (secondary enhanced video object data S-EVOB)on the title timeline, respectively. Additionally, such time informationis written in the form of “HH:MM:SS:FF”. Further, a start positionVBSTTM (clipTimeBegin attribute information) in enhanced video objectdata is indicative of a start position of enhanced video object dataS-EVOB in a secondary video set, and expressed as a presentation starttime (a presentation time stamp value) PTS in a video stream as shown inFIG. 53. Furthermore, a description of information of a start positionVBSTTM in the enhanced video object data can be eliminated in attributeinformation SVATRI of the substitute audio video clip element. If adescription of the information is eliminated, this means thatplayback/display is started from a leading position of enhanced videoobject data S-EVOB in a secondary video set. An index information filestorage position SRCTMP (SRC attribute information) of aplayback/display object to be referred is written in a URI (a uniformresource identifier) format. As shown in FIG. 18, a file which isreferred as an index when playing back/using an object in a substituteaudio clip SBADCP represents a time map file STMAP in a secondary videoset. Therefore, as the index information file storage position SRCTMP ofthe playback/display object to be referred, a storage position of thetime map file STMAP in the secondary video set is written. Moreover, atime PRLOAD (preload attribute information) on a title timeline at whichfetching a playback/display object is started represents a loading starttime when loading is executed to the data cache DTCCH from the networkserver NTSRV prior to displaying corresponding substitute audio SBTAD onthe title timeline TMLE for a user. Additionally, when the substituteaudio SBTAD is stored in the information storage medium DISC or thenetwork server NTSRV, the substitute audio SBTAD is pre-loaded in thedata cache DTCCH as shown in FIG. 25, but a start time at whichdownloading to the data cache DTCCH in this case is started is alsorepresented as the time PRLOAD on the title timeline at which fetchingthe playback/display object is started. Further, as synchronizationattribute information SYNCAT (sync attribute information) of aplayback/display object, it is possible to set either “hard” or “soft”in the substitute audio clip element SBADCP. If the synchronizationattribute information SYNCAT of a playback/display object is set as“hard”, corresponding substitute audio SBTAD is regarded as a hardsynchronized object. A description will now be given as to a case wherenew substitute audio SBTAD must be loaded in the data cache DTCCH whendisplaying a playback/display object for a user. In this case, thesubstitute audio SBTAD is loaded into the data cache DTCCH from a timePRLOAD on a title timeline at which fetching the playback/display objectis started. When loading is completed before a start time TTSTTM on thetitle timeline or when the substitute audio SBTAD can be continuouslyplayed back and output before an end time TTEDTM on the title timelineeven during loading, playback and output of the substitute audio SBTADare started from the start time TTSTTM on the title timeline. On thecontrary, when the loading processing cannot be completed in time, orwhen a value of the synchronization attribute information SYNCAT of theplayback/display object is set as “hard”, time progress (count-up) is onthe title timeline TMLE is temporarily stopped. Meanwhile, loading thesubstitute audio SBTAD into the data cache DTCCH is continued. When theloading processing with respect to the data cache DTCCH has beencompleted, or when the substitute audio SBTAD has reached a stage wherecontinuous playback/display is possible before the end time TTEDTM onthe title timeline even during loading, time progress (count-up) on thetitle timeline TMLE is restarted, and synchronization processing ofdisplaying the substitute audio SBTAD to a user is started. Furthermore,when the synchronization attribute information SYNCAT of aplayback/display object is set as “soft”, corresponding substitute audioSBTAD is regarded as a soft synchronized object. A description will nowbe given as to a case where new substitute audio SBTAD must be loadedinto the data cache DTCCH when displaying a playback/display object fora user. In this case, processing of loading the substitute audio SBTADinto the data cache DTCCH is started from a time PRLOAD on a titletimeline at which fetching the playback/display object is started. Whenloading is completed before a start time TTSTTM on the title timeline,or when the substitute audio SBTAD can be continuously played back andoutput before an end time TTEDTM on the title timeline even duringloading, playback and output of the substitute audio SBTAD is startedfrom the start time TTSTTM on the title timeline. On the contrary, whenthe loading processing cannot be completed in time, or when a value ofthe synchronization attribute information of the playback/display objectis set as “soft”, time progress (count-up) on the title timeline TMLE iscontinued in a state where playback and output of the substitute audioSBTAD which is currently loaded are not carried out without temporarilystopping time progress (count-up) on the title timeline TMLE. Loadingthe substitute audio SBTAD into the data cache DTCCH is continuedconcurrently with continuation of time progress (count-up) on the titletime line TMLE in the state where playback and output of the currentlyloaded substitute audio SBTAD are not executed. When loading processingwith respect to the data cache DTCCH has been completed, or when thesubstitute audio SBTAD has reached a stage where continuousplayback/display is possible before an end time TTEDTM on the titletimeline even during loading, playback and output of the substituteaudio SBTAD are started. When a value of the synchronization attributeinformation SYNCAT of the playback/display object is set as “soft” inthis manner, a possibility that playback and output of the substituteaudio SBTAD are started in retard of the start time TTSTTM on the titletimeline is increased. In order to avoid this delay, it is desirable topreviously store and load the substitute audio SBTAD in the data cacheDTCCH prior to a timing at which the substitute audio SBTAD is displayedfor a user and perform synchronized display (start playback of thesubstitute audio SBTAD from the start time TTSTTM on the title timeline)in such a manner that playback of the substitute audio SBTAD stored inthe data cache DTCCH is continuously started without stopping timeprogress (count-up) on the title timeline TMLE. Therefore, in case ofthe soft synchronized object (when a value of the sync attributeinformation is written as “soft”), it is necessary to set a time PRLOADon a title timeline at which fetching a playback/display object isstarted (write information of the time PRLOAD on the title timeline atwhich fetching the playback/display object is started in a substituteaudio clip element SBADCP) to achieve a time (a small count value on thetitle timeline TMLE) preceding the start time TTSTTM on the titletimeline. However, a description of information of the synchronizationattribute information of the playback/display object can be eliminatedin attribute information SAATRI of a substitute audio clip element. Inthis case, “soft” is automatically set as a default value. Therefore,when a value of the synchronization attribute information of aplayback/display object is written as “soft” or its description iseliminated, it is desirable to write a time PRLOAD on a title timelineat which fetching the playback/display object is started. Further,no-cache attribute information NOCACH represents information concerninga communication protocol of HTTP. As a value which can be taken by theno-cache attribute information, it is possible to set either “true” or“false”. If a value of the no-cache attribute information NOCACH is“true”, a Cach-Control header and a Pragma header must be included in aGET request message of HTTP. Furthermore, if a value of the no-cacheattribute information NOCACH is “false”, the Cach-Control header and thePragma header are not included in the GET request message of HTTP.Moreover, additional information concerning a SubstituteAudioClip iswritten in a text format familiar to people. Additionally, a descriptionof the additional information concerning the substitute audio clip canbe eliminated from attribute information SAATRI of the substitute audioclip element.

Title information TTINFO exists in a playlist file PLLST as shown in (a)of FIG. 23A, and first play title element information FPTELE, titleelement information TTELEM for each title and playlist applicationelement information PLAELE exist in the title information TTINFO asshown in (b) of FIG. 23A. Further, as shown in (c) of FIG. 23A, objectmapping information OBMAPI (including track number assignmentinformation) exists in the title element information TTELEM for eachtitle. As shown in (b) of FIG. 56A, an advanced subtitle segment elementADSTSG exists in the object mapping information OBMAPI (including thetrack number assignment information). A data configuration in theadvanced subtitle segment element ADSTSG will now be described.

<AdvancedSubtitleSegment (Advanced Subtitle Segment) Element>

AdvancedSubtitleSegment element is a Presentation Clip element forAdvanced Subtitle.

AdvancedSubtitleSegment element describes the Object Mapping Informationof Advanced Subtitle in a Title and the assignment to Subtitle Tracknumber.

XML Syntax Representation of AdvancedSubtitleSegment element:<AdvancedSubtitleSegment id = ID titleTimeBegin = timeExpressiontitleTimeEnd = timeExpression src = anyURI sync = (hard | soft)description = string >  Subtitle +  ApplicationResource *</AdvancedSubtitleSegment>

The src attribute describes which Advanced Subtitle Profile markup filerepresented by this element. The titleTimeBegin and titleTimeEndattribute describe the start time and end time of valid period ofAdvanced Subtitle, respectively.

The AdvancedSubtitleSegment element contains one, or more Subtitleelement, which describes the assignment of Subtitle Track number.Subtitle Track number is used to select Advanced Subtitle as a Subtitlefor Main Video.

(a) titleTimeBegin attribute

Describes the start time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(b) titleTimeEnd attribute

Describes the end time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(c) src attribute

Describes the URI of the manifest file of the Advanced Subtitle to bereferred.

(d) sync attribute

Describes Hard-Sync Application, or Soft-Sync Application, whichdetermines the Application startup mode. This attribute can be omitted.Default value is ‘hard’.

(e) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

As shown in FIG. 18, the advanced subtitle segment element ADSTSG isindicative of information of a playback/display clip element concerningan advanced subtitle ADSBT. The advanced subtitle segment element ADSTSGexplains contents of object mapping information OBMAPI of the advancedsubtitle ADSBT in a title. Furthermore, in the advanced subtitle segmentelement ADSTSG, a track number of a subtitle is also set. As shown inFIG. 18, a file name which is referred as an index when playingback/using the advanced subtitle ADSBT is a manifest file MNFSTS of theadvanced subtitle. In accordance with this, src attribute informationshown in (c) of FIG. 56B is indicative of a file name and a storageposition (a path) of a markup file MRKUP concerning an advanced subtitleADSBT corresponding to the advanced subtitle segment element ADSTSG.Moreover, attribute information of a start time TTSTTM (titleTimeBegin)on a title timeline and an end time TTEDTM (titleTimeEnd) on the titletimeline represents a start time and an end time in a valid period ofthe advanced subtitle ADSBT. Additionally, as shown in (b) of FIG. 56A,the advanced subtitle segment element ADSTSG can include information ofone or more subtitle elements SBTELE and one or more applicationresource elements APRELE. Further, in the subtitle element SBTELE, anumber of a subtitle track is set. The subtitle track number is used toselect an advanced subtitle ADSBT as a subtitle (used as a telop, asuperimposed title or the like) with respect to main video MANVD.Furthermore, a manifest file storage position SRCMNF (src attributeinformation) of a playback/display object to be referred shown in (c) ofFIG. 56B is written in the form of a URI (a uniform resourceidentifier). Although synchronization attribute information SYNCAT (syncattribute information) of a playback/display object meanssynchronization attribute information in an advanced subtitle segmentelement ADSTSG, it matches with a definition of a jump timing mode withrespect to an application segment element APPLSG which will be describedlater. A jump timing model in the advanced application ADAPL is writtenin a descriptive text in FIG. 17. In this embodiment, either “hard” or“soft” is set as the synchronization attribute information SYNCAT of theplayback/display object in the advanced subtitle segment ADSTSG. Thatis, in this embodiment, “none” is not set as synchronization with theadvanced subtitle ADSBT, and the advanced subtitle ADSBT must bedisplayed in synchronization with a title timeline TMLE. When “hard” isset as a value of the synchronization attribute information SYNCAT ofthe playback/display object, this represents a state of hard sync jump.That is, progress (count-up) of the title timeline TMLE is temporarilystopped (a corresponding display screen is maintained in a temporarilystill state) while loading of the advanced subtitle ADSBT into the filecache FLCCH is started in accordance with the start time TTSTTM on thetitle timeline, and progress (count-up) of the title timeline TMLE isrestarted when loading processing of the advanced subtitle ADSBT hasbeen completed. Additionally, on the contrary, when “soft” is set as thesynchronization attribute information SYNCAT of the playback/displayobject, this means a state of soft sync jump. That is, the soft syncjump state means a synchronization method which executes (completes) theloading processing of the advanced subtitle ADSBT into the file cacheFLCCH prior to displaying the advanced subtitle ADSBT, therebyterminating preparation of the next advanced subtitle ADSBT to bedisplayed seamlessly without stopping progress of the title timelineTMLE. Further, in this embodiment, even when “hard” is set as thesynchronization attribute information SYNCAT of the playback/displayobject, loading a necessary resource may be started in advance. However,in this case, when previous loading is not completed even though a timeon the title timeline TMLE has reached the start time TTSTTM(titleTimeBegin) on the title timeline, or when loading is not completedwhile continuous display is possible until the end time TTEDTM on thetitle timeline even though display of an advanced subtitle ADSBT isstarted, progress (count-up) on the title timeline TMLE is temporarilystopped (a corresponding display screen is maintained in a temporarilystill state) to wait until a loading amount in the file cache FLCCHexceeds a specific value. Furthermore, in this embodiment, when “soft”is set as the synchronization attribute information SYNCAT of theplayback/display object, such synchronization processing as shown inFIG. 65B may be executed. That is, loading of a resource correspondingto the advanced subtitle ADSBT is started from the start time on thetitle timeline (the start time TTSTTM on the title timeline is matchedwith a start time of a loading period LOADPE), progress (count-up) ofthe title timeline TMLE is continued even during loading the resourcecorresponding to the advanced subtitle ADSBT. When a resource dataamount has been stored in file cache FLCCH to some extent and continuousdisplay of the advanced subtitle ADSBT is enabled (in retard of thestart time TTSTTM on the title timeline), playback of the correspondingadvanced subtitle ADSBT is started.

Additional information concerning an AdvancedSubtitleSegment ADSTSGshown in (c) of FIG. 56B is written in a text format familiar to people.A description of the additional information concerning the advancedsubtitle segment ADSTSG can be eliminated in attribute informationADATRI of the advanced subtitle segment element.

<ApplicationSegment (Application Segment) Element>

ApplicationSegment element is a Presentation Clip element for AdvancedApplication. Application element describes the Object MappingInformation of an Advanced Application in a Title.

XML Syntax Representation of Application element: <ApplicationSegment id= ID titleTimeBegin = timeExpression titleTimeEnd = timeExpression src =anyURI sync = (hard | soft) zOrder = nonNegativeInteger language =language appBlock = positiveInteger group = positiveInteger autorun =(true | false) description = string >  ApplicationResource *</ApplicationSegment>

The Advanced Application shall be scheduled on a specified time periodof Title Timeline. The time period is the Advanced Application validperiod. When time on Title Timeline enters the time period, AdvancedApplication shall become valid according to the Manifest file specifiedby src attribute. If time on Title Timeline exits from the time period,the Advanced Application in the Title shall be terminated.

The time period on Title Timeline of a Presentation Object is determinedby start time and end time on Title Timeline. The start time and endtime on Title Timeline are described by titleTimeBegin attribute andtitleTimeEnd attribute, respectively.

Advanced Application shall be referred by the URI for the Manifest fileof the initialization information of the application.

ApplicationSegment element can contain a list of ApplicationResourceelement, which describes the information of Resource Information parthis Application.

ApplicationSegment element can have optional attributes, languageattribute, appBlock attribute, group attribute and autorun attribute,which describes Application Activation Information.

(a) titleTimeBegin attribute

Describes the start time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(b) titleTimeEnd attribute

Describes the end time of the continuous fragment of the PresentationObject on the Title Timeline. The value shall be described intimeExpression value defined in Datatypes.

(c) src attribute

Describes the URI for the Manifest file which describes theinitialization information of the application.

(d) sync attribute

Describes Hard-Sync Application, or Soft-Sync Application, whichdetermines the Application startup mode. This attribute can be omitted.Default value is ‘hard’.

(e) zOrder attribute

Describes the Application z-order. Application Z-order is used by tickclock frequency used in Application z-ordering and rendering into thegraphics plane.

(f) language attribute

Describes the application language, which consists of two-letterlowercase symbols defined in ISO-639. This attribute can be omitted. Ifthe language attribute is absent, the language of Advanced Applicationis any language.

(g) appBlock attribute

Describes the index of Application Block to which this applicationbelongs. This attribute can be omitted. If this attribute is absent,this application does not belong to any Application Block.

(h) group attribute

Describes the index of Advanced Application Group to which AdvancedApplication belongs. This attribute can be omitted. If group attributeis absent, the Advanced Application does not belong to any ApplicationGroup.

(i) autorun attribute

If the value is ‘true’, Advanced Application shall be active when timeon Title Timeline enters in a valid period. If the value is ‘false’,Advanced Application shall be inactive when time on Title Timelineenters in a valid period. This attribute can be omitted. The defaultvalue is ‘true’.

(j) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

As shown in FIG. 18, an application segment element APPLSG means aplayback/display clip element concerning an advanced application ADAPL.The application segment APPLSG describes contents of object mappinginformation OBMAPI of an advanced application ADAPL in a title. Theadvanced application ADAPL must be scheduled in a specific time range ona title timeline TMLE. The specific time range will be referred to as avalid period of an advanced application ADAPL. When a proceeding time (acount value) on the title timeline TMLE has reached the valid period, itis said that the advanced application ADAPL has entered the validperiod. Moreover, the valid period of the advanced application ADAPL onthe title timeline TMLE is set based on a start time and an end time onthe title timeline TMLE. That is, a start time of the valid period isset based on a start time TTSTTM (titleTimeBegin attribute information)on the title timeline shown in (d) of FIG. 56B, and an end time of thevalid period of the advanced application ADAPL is set based on an endtime TTEDTM (titleTimeEnd attribute information) on the title timeline,respectively. Additionally, as shown in FIG. 12 or 18, when makingreference to an advanced application ADAPL, a manifest file MNFST isreferred from a playlist file PLLST. A value of src attributeinformation (source attribute information) representing a storageposition URIMNF of a manifest file including initial setting informationof an advanced application is written in the form of a URI (a uniformresource identifier). As a result, information required in an initialstate of an advanced application ADAPL can be acquired. As shown in (b)of FIG. 56A, a list of application resource elements APRELE can beincluded in an application segment element APPLSG. The applicationresource element APRELE is indicative of resource information RESRCIwith respect to a corresponding advanced application ADAPL (see (d) ofFIG. 63C). As shown in (d) of FIG. 56B, although an application segmentelement APPLSG tag includes language attribute information LANGAT(language attribute information), application block attribute (an indexnumber) information APBLT (appblock attribute information), advancedapplication group attribute (an index number) information APGRAT (groupattribute information) and autorun attribute information ATRNAT (autorunattribute information), these four types of attribute information arecalled application activation information (how to use the applicationactivation information will be described later with reference to FIG.58). ID information APPLID of an application segment element is writtenimmediately after “ID=” prior to attribute information APATRI of anapplication segment element in an application segment element APPLSGtag. Since the ID information APPLID of the application segment elementcan be set in this manner, a plurality of application segment elementsAPPLSG can be set in object mapping information OBMAPI in thisembodiment. Therefore, a plurality of advanced applications ADAPL havingdifferent display formats can be displayed in a display period of onetitle, thereby greatly improving an expression method for a user.Further, as shown in FIG. 82, setting the ID information can facilitatespecification of a particular application segment element APPLSG usingthe ID information APPLID based on an API command, thus simplifying APIcommand processing control. Furthermore, as shown in (d) of FIG. 56B,information of a start time TTSTTM (titleTimeBegin) on a title timelineand information of an end time TTEDTM on the title timeline are writtenat a leading part in attribute information APATRI of an applicationsegment element. As can be understood from (c) of FIG. 56B, the starttime TTSTTM and the end time TTEDTM on the title timeline are firstwritten at a leading position of each of advanced subtitle segmentelement attribute information ADATRI and application segment elementattribute information APATRI in an advanced subtitle segment elementADSTSG and an application segment element APPLSG. When the start/endtimes of a valid period on the title timeline are written first in thismanner, a speed of display timing setting processing on the titletimeline TMLE by the playlist manager PLMNG (see FIG. 28) can beincreased. In this embodiment, one of two types of information, i.e.,“hard” and “soft” can be set as synchronization attribute informationSYNCAT (sync attribute information) of a playback/display object in anadvanced application ADAPL. That is, when a value of the synchronizationattribute information SYNCAT (sync attribute information) of theplayback/display object is set to “hard”, this represents a hard syncjump state as explained in the descriptive text in FIG. 17. That is,progress (count-up) on the title timeline TMLE is temporarily stoppedwhile the advanced application ADAPL is loaded, and display of picturesto be displayed (e.g., picture information based on primary enhancedvideo object data P-EVOB) is also temporarily stopped, thereby providinga still picture state. When loading processing of the advancedapplication ADAPL has been completed, progress (count-up) of the titletimeline TMLE is restarted and, at the same time, movements of thepictures are restarted, thereby displaying the corresponding advancedapplication ADAPL. Moreover, when the synchronization attributeinformation SYNCAT (sync attribute information) of the playback/displayobject is set to “soft”, this means soft sync jump. That is, loadingprocessing of an advanced application ADAPL is carried out in advance,and display of the advanced application ADAPL which has been completelyloaded can be started while effecting seamless display withouttemporarily stopping progress (count-up) of the title timeline TMLE.Additionally, in this embodiment, when the synchronization attributeinformation SYNCAT (sync attribute information) of a playback/displayobject is set to “soft”, the control is not restricted to theabove-described contents, and synchronization processing shown in FIG.65B may be executed. That is, the synchronization processing shown inFIG. 65B is exclusively used when a description of a time PRLOAD(preload attribute information) on a title timeline at which fetchingthe playback/display object begins does not exist in a clip element or asegment element, and it starts loading of a resource used in aplayback/display object specified (managed) by a clip element or asegment element into the file cache FLCCH from a start time TTSTTM (atitleTimeBegin attribute information value) on a title timeline set inthe clip element or the segment element (the start time TTSTTM on thetitle timeline is matched with a start time of a loading period LOADPEinto the file cache FLCCH). Then, the loading processing of the resourceinto the file cache FLCCH and the time progress (count-up) on the titletimeline TMLE are simultaneously continued, and processing which doesnot interrupt progress of moving images which are displayed for a useris executed. Display or execution of a corresponding advancedapplication ADAPL is started only after the loading period LOADPE ofloading the resource into the file cache FLCCH has been completed,thereby entering an execution period APACPE of the advanced application.The foregoing embodiment has the following characteristics.

1) Time progress (count-up) on a title timeline TMLE continuously goeson even during loading a resource used in an advanced application ADAPLinto the file cache FLCCH.

2) A start time of an execution period APACPE of an advanced applicationat which display or execution of the advanced application ADAPL isstarted is behind a value of a start time TTSTTM (titleTimeBeginattribute information) on a title timeline defined in a clip element ora segment element.

A description will now be given as to Z-order attribute (Z-index)information ZORDER arranged in an application segment element APPLSG. Asshown in FIG. 16, a plurality of buttons from a help icon 33 to an FFbutton 38 may be displayed in a display screen for a user. As a methodof displaying the plurality of buttons from the help icon 33 to the FFbutton 38 in the display screen, after a display region of an advancedapplication ADAPL is set by a manifest MNFST, display positions anddisplay sizes of the help icon 33, a stop button 34, a play button 35,an FR button 36, a pause button 37 and the FF button 38 can be set asrespective application elements in a markup MRKUP specified from themanifest MNFST (see FIG. 84). In this case, the help icon 33 correspondsto one application element (a content element or a graphic object shownin FIG. 40), and the respective buttons from the stop button 34 to theFF button 38 can be set in accordance with different applicationelements (content elements or graphic objects shown in FIG. 40). In thisembodiment an entire display region of the advanced application ADAPLmay be regarded as one advanced application ADAPL to be integrallymanaged based on the same application segment element APLSG.Additionally, the present invention is not restricted thereto, and therespective buttons from the stop button 34 to the FF button 38 can beregarded as different advanced applications ADAPL in accordance with acreation purpose of a content provider, and they can be managed based onthe application segment elements APPLSG in units of displayed figurescorresponding to the respective buttons or scripts SCRPT executed whenthe respective buttons are pressed. In this case, advanced applicationsADAPL from the advanced application ADALP corresponding to the stopbutton 34 to the advanced application ADALP corresponding to the FFbutton 38 can be grouped in such a manner a user can simultaneouslyinput the respective buttons from the stop button 34 to the FF button 38(a focus state). When the advanced applications ADAPL from thatcorresponding to the stop button 34 to that corresponding to the FFbutton 38 are grouped in this manner, set values from a set value ofadvanced application group attribute (index number) information APGRAT(group attribute information) in an application segment element APPLSGconcerning the stop button 34 to a set value of advanced applicationgroup attribute (index number) information APGRAT (group attributeinformation) in an application segment element APPLSG concerning the FFbutton 38 are all set to the same value. In FIG. 16, although therespective application elements (content elements or graphic objectsshown in FIG. 40) are arranged at different positions, but the pluralityof application elements (content elements or graphic objects shown inFIG. 40) can be displayed in a partially overlapping manner in thisembodiment. For example, in the embodiment depicted in FIG. 16, the stopbutton 34 can be displayed to partially overlap the help icon 33. Inthis embodiment, the plurality of application elements (content elementsor graphic objects shown in FIG. 40) can be displayed in a partiallyoverlapping manner as described above. Further, when the advancedapplications ADAPL are associated in accordance with the respectiveapplication elements (content elements or graphic objects shown in FIG.40), the plurality of advanced applications ADAPL are arranged in apartially overlapping manner, and it is necessary to control to decidewhich advanced application ADAPL should be displayed on an “upper side”.In order to enable this control, a layer is set in accordance with eachadvanced application ADAPL, and a data management method which performsdisplay in a graphic plane GRPHPL (see FIG. 39) with the layers beingsuperimposed is adopted. That is, a graphic figure (an applicationelement, a content element or a graphic object shown in FIG. 40)corresponding to an advanced application ADAPL set as an “upper” layeris displayed on the “upper side” of a graphic figure corresponding to anadvanced application ADAPL set as a “lower” layer in a screen. Inaccordance with this structure, it is possible to set a layer numbercorresponding to each advanced application ADAPL. That is, a layernumber of a corresponding advanced application ADAPL in a graphic planeGRPHPL is set based on the Z-order attribute (Z-index) informationZORDER (zOrder attribute information). As a value of the layer numberinformation, “0” or an integral value can be set. The Z-order attribute(Z-index) information ZORDER (zorder attribute information) is used(subjected to switching control) by frequency information TKBASE(tickBase attribute information) of a tick clock used in the markupshown in (b) of FIG. 24A. The language attribute information LANGAT(language attribute information) to be written next is information whichspecifies a language used for characters displayed in a screen (e.g., amenu screen) or voices based on an advanced application ADAPL. Whenlanguage contents specified here are different from language contentsspecified by application language system parameters (see FIGS. 46 to49), there is provided an advanced application ADAPL disabled state (aninactive state) specified by this application segment element APPLSG.The language attribute information LANGAT is constituted of a languagecode (two-letter lowercase symbols) set in accordance with ISO-639. Inthis embodiment, a description of the language attribute informationLANGAT can be eliminated in attribute information APATRI of theapplication segment element APPLSG. If the description of the languageattribute information LANGAT is eliminated in this manner, a language ofthe advanced application ADAPL is set as an arbitrary languagecorresponding to a situation. Moreover, application block attribute(index number) information APBLAT (appBlock attribute information) isindicative of an index number (an integral value) of an advanced blockto which an advanced application ADAPL specified by a correspondingapplication segment element APPLSG belongs as explained in detail in adescriptive text in FIG. 57. A description of the application blockattribute (index number) information APBLAT can be eliminated in theapplication segment element attribute information APATRI. If thedescription of the application block attribute (index number)information APBLAT is eliminated, this means that a correspondingadvanced application ADAPL does not belong to an application block butsolely exists.

As mentioned above, advanced applications ADAPL from that correspondingto the stop button 34 shown in FIG. 16 to that corresponding to the FFbutton 38 can be grouped, thereby simplifying processing correspondingto user input. A target grouped in this manner will be referred to as an“advanced application group”. In this embodiment, an “index number (anintegral value)” is set in accordance with each advanced applicationgroup, thus enabling identification of the respective advancedapplication groups. A value of the index number is set (written) asadvanced application group attribute (index number) information APGRAT(group attribute information) in an application segment element APPLSG.Based on an intention of a content provider, display of the buttons fromthe stop button 34 to the FF button 38 can be simultaneously started orterminated, or execution of any of the stop buttons 34 to the FF buttons38 can be specified by a user (the stop button 34 to the FF button 38can be simultaneously set in a focusing state). When the entire advancedapplication group constituted of the advanced application ADAPLcorresponding to the stop button 34 to the advanced application ADAPLcorresponding to the FF button 38 is set in an execution state (anactive state), all the advanced applications ADAPL in the advancedapplication group are simultaneously set in the execution state (theactive state). In this embodiment, all the advanced applications ADAPLdo not have to belong to the advanced application group. When anadvanced application ADAPL managed by an application segment elementAPPLSG does not belong to the advanced application group but solelyexists, a description of the advanced application group attribute (indexnumber) information APGRAT is eliminated.

As a value of autorun attribute information ATRNAT (autorun attributeinformation), either “true” or “false” can be set. When a count value ofa title timeline TMLE enters a valid period (a range from titleTimeBegin(TTSTTM) to titleTimeEnd (TTEDTM)) and a value of the autorun attributeinformation is “true”, an advanced application ADAPL is automaticallystarted up (becomes active). In case of “false”, this means that theactive state is not provided unless a specification based on an APIcommand is accepted. Additionally, a description of the autorunattribute information ATRNAT can be eliminated in the applicationsegment element attribute information APATRI. When a description of theautorun attribute information ATRNAT is eliminated in this manner,“true” which is a default value of the autorun attribute informationATRNAT is automatically set. Further, additional information(description attribute information) concerning an ApplicationSegmentwhich is written at last in an application segment element APPLSG tag iswritten in a text format which is comprehensible to people. Adescription of the additional information can be eliminated in anapplication segment element attribute information.

<Application Activation Information>

The ApplicationSegment element can have optional attributes, languageattribute, appBlock attribute, group attribute and autorun attribute.These attributes are called by Application Activation Information.

Application Activation Information determines the Application shall beactivate, or inactive, when time on Title Timeline enters the validperiod of Application.

More intelligible explanations will be provided below.

As shown in (d) of FIG. 56B, language attribute information LANGAT,application block attribute (index number) information APBLAD, advancedapplication group attribute (index number) information APGRAT andautorun attribute information ATRNAT can be written as optionalinformation in an application segment element APPLSG tag. The four typesof attribute information is called application activation information(judgment information which is used to set whether a correspondingapplication is set in an execution state). It is possible to judgewhether the advanced application ADAPL can be executed based on theapplication activation information from a start time TTSTTM(titleTimeBegin) to an end time TTEDTM (titleTimeEnd) on a titletimeline set in an application segment element APPLSG (shown in (d) ofFIG. 56B) in a valid period of the advanced application ADAPL on thetitle timeline TMLE.

<Language and Application Block>

Application can be selectively activated by menu language setting, froma set of the ApplicationSegment element, called by Application Block.

The application language of ApplicationSegment is described by languageattribute.

The menu language is the value of Menu Language defined in SystemParameter.

Application Block is a set of ApplicationSegment elements in a Titlewhich have same appBlock attribute value. All ApplicationSegmentelements in an Application Block shall satisfy the following conditions:

-   -   The language attribute shall be present and unique in an        Application Block.    -   Valid period shall be same in the Application Block.    -   The autorun attribute shall be same in the Application Block.    -   The group attribute shall not be present.

An appBlock attribute shall be present if language attribute present.

The following figure is an example of Application Block and Language. Inthis example, if menu language is ‘en’, App1_en, App2_en, App3_en andApp4_en are activated in their valid period.

If menu language is ‘fr’, Appl_fr, App2_fr, App3_en and App4_en areactivated in their valid period.

If menu language is ‘ja’, Appl_ja, App2_ja, App3_en and App4_ja areactivated in their valid period.

If menu language is ‘zh’, Appl_en, App2_zh, App3_en and App4_en areactivated in their valid period.

More intelligible explanations will be provided below.

FIG. 57 shows a relationship between the language attribute informationLANGAT and the application block attribute (index number) informationAPBLAT as a reference used to judge whether an advanced applicationADAPL can be executed. A description will be given as to a case where adefault language of a title is set to English in an embodiment shown inFIG. 57 and a menu language is recorded in English as a profileparameter in FIG. 47 (the profile parameter shown in FIG. 47 is storedin a memory region included in the navigation manager NMVNG depicted inFIG. 14). As shown in FIG. 57, it is possible to provide a set ofadvanced applications which display the same menu contents in differentmenu languages. As described above, in this embodiment, a set ofadvanced applications ADAPL which have the same menu contents anddifferent languages at the time of display for a user is called anapplication block. When an advanced application ADAPL which is expressedin a language which can be understood by (comprehensible to) a user isselectively executed (displayed) in the same application block, the samemenu contents can be displayed in appropriate forms (languageexpressions suitable for respective people) for multiple people who gotused to languages different form each other. For example, in FIG. 57,application block attribute (index number) information APBLAT having avalue of 1 (appBlock=“1”) includes three types of applications, i.e., anadvanced application ADAPL #1_en (English) in which a menu language isEnglish, an advanced application ADAPL #1_fr (French) in which a menulanguage is displayed in French and an advanced application ADAPL #1_ja(Japanese) in which a menu language is displayed in Japanese, and anappropriate advanced application ADAPL can be selected and executed(displayed) in accordance with a language comprehensible to a user.Language contents displayed in a menu in an application segment elementAPPLSG are set based on language attribute information LANGAT depictedin (d) of FIG. 56B. Further, menu language contents which should bedisplayed for a user are set based on a value of a menu language (seeFIG. 47) in system parameters. The application block has a combination(set) configuration of a plurality of application segment elementsAPPLSG in the same title. Furthermore, application block attribute(index number) information APBLAT in the application segment elementAPPLSG tag is set based on the same value in the same application block.Therefore, making reference to a value of the application blockattribute (index number) information APBLAT in each application segmentelement APPLSG tag can recognize an application block to which eachapplication segment element APPLSG belongs. In the same singleapplication block, all application segment elements APPLSG must satisfythe following conditions.

(1) Although the language attribute information LANGAT shown in (d) ofFIG. 56B is set as optional information in a normal situation, thelanguage attribute information LANGAT must be written in a correspondingapplication segment element APPLSG tag when the correspondingapplication segment element APPLSG exists in an application block.Further, different values of the language attribute information LANGATmust be set in different application segment elements APPLSG belongingto the same application block.

-   -   That is, when a value of the language attribute information        LANGAT in each application segment element APPLSG is uniquely        set in the same application block, selection and extraction of        an application segment element APPLSG which can be used        (executed/displayed) by the playlist manager PLMNG (see FIG. 28)        can be facilitated.

(2) All valid periods (each of which is a period from a start timeTTSTTM on a title timeline to an end time TTEDTM on the title timeline)must match with each other between different application segmentelements APPLSG belonging to the same application block.

-   -   As a result, display periods for a user become all equal to each        other in all advanced applications ADAPL irrespective of display        languages, thereby facilitating time management of the playlist        manager PLMNG on the title timeline TMLE.

(3) The autorun attribute information ATRNAT in all differentapplication segment elements APPLSG belonging to the same applicationblock must be set to the same value.

-   -   For example, when the autorun attribute information ATRNAT of an        advanced application ADAPL #1_en (English) in an application        block “1” shown in FIG. 57 is set to “true”, values of the        autorun attribute information ATRNAT in other advanced        applications ADAPL corresponding to French and Japanese must be        set to “true”. Furthermore, when the autorun attribute        information ATRNAT of an advanced application ADAPL #2_en        (English) included in an application block “2” is set to        “false”, set values of the autorun attribute information ATRNAT        of corresponding advanced applications ADAPL of French, Japanese        and Chinese must be also set to “false”.    -   If a value of the autorun attribute information ATRNAT differs        in accordance with each advanced application ADAPL, an advanced        application displayed in a specific language is automatically        started up, advanced applications which are displayed in other        languages are not automatically started up, and the control does        not shift to an execution state unless an API command is issued.        In such a case, management/control of the playlist manager PLMNG        becomes very complicated. Setting the above-described conditions        can avoid the complicity, and simplify management/control of the        playlist manager PLMNG.

(4) A description of advanced application group attribute (index number)information APGRAT must be eliminated in an application segment elementAPPLSG tag included in an application block.

-   -   The advanced application group attribute (index number)        information APGRAT is obtained by grouping advanced applications        ADAPL which can be simultaneously set to an execution state        (active) by using an API command including a user option. When        specific advanced applications ADAPL in the same block are        grouped, applications having a specific language menu alone are        started up in response to the API command, thereby giving        discomfort to a user who cannot understand this language.        Therefore, in this embodiment, completely separating an advanced        application ADAPL included in an application block from an        advanced application ADAPL included in an advanced application        group (the same advanced application ADAPL is not included in        both the application block and the advanced application group)        can avoid an erroneous operation of displaying a menu in a wrong        language for a user who can understand a specific language        alone.

Moreover, in this embodiment, when the language attribute informationLANGAT shown in (d) of FIG. 56B is written in the playlist PLLST,application block attribute (index number) information APBLAT must bealso written. That is, as shown in FIG. 57, even if there is only oneadvanced application ADAPL #3_en (English) (there is no advancedapplication ADAPL corresponding to a menu language such as Japanese orFrench), this application is defined to solely exist in an applicationblock “3”. When a language code is set in the advanced application ADAPLin this manner, setting to necessarily configure an application blockcan facilitate selection processing of the advanced application ADAPLwhich should be displayed (executed/used) by a user in the playlistmanager PLMNG (see FIG. 28).

In the embodiment shown in FIG. 57, when a default language of a titleis set to English, an advanced application ADAPL #1_en (English), anadvanced application ADAPL #2_en (English) and an advanced applicationADAPL #3_en (English) are selected as applications to beexecuted/displayed in each valid period. Additionally, if a defaultlanguage of a title is set to Japanese, an advanced application ADAPL#l_ja (Japanese) and an advanced application ADAPL #2_ja (Japanese)alone are extracted as advanced applications to be executed anddisplayed in each valid period, and display of an advanced applicationADAPL is not displayed in a display period of an advanced applicationADAPL #3_en (English) since there is no corresponding menu language inJapanese.

<Application Activation Information>

As shown in (d) of FIG. 56B, four types of attribute information, i.e.,language attribute information LANGAT, application block attribute(index number) information APBLAT, advanced application group attribute(index number) information APGRAT and autorun attribute informationATRNAT exist as optional attribute information in application segmentelement attribute information APATRI. These four types of attributeinformation are called application activation information (judgmentinformation which is used to set whether a corresponding application isexecuted). It is possible to use the application activation informationto judge if the advanced application ADAPL can be executed or cannot beexecuted in a valid period (a period from a start time TTSTTM(titleTimeBegin) to an end time TTEDTM (titleTimeEnd) on a titletimeline set in an application segment element APPLSG depicted in (d) ofFIG. 56B) of the advanced application ADAPL on the title timeline TMLE.FIG. 58 shows a reference which is required to judge whether acorresponding advanced application ADAPL is valid when a display time onthe title timeline TMLE is in the valid period of the advancedapplication ADAPL. As shown in FIG. 1, the advanced content playbackunit ADVPL exists in the information storage medium DISC in thisembodiment. Further, as shown in FIG. 14, the navigation manager NVMNGand the presentation engine PRSEN exist in the advanced content playbackunit ADVPL. Furthermore, the playlist manager PLMNG which analyzescontents of a playlist file PLLST and the advanced application managerADAMNG which controls processing of an advanced application ADAPL existin the navigation manager NVMNG as shown in FIG. 28. First, the playlistmanager PLMNG analyzes contents of an application segment element APPLSGshown in (d) of FIG. 58B. The playlist manager PLMNG judges the validityof the advanced application ADAPL shown in FIG. 58. This embodiment isnot restricted to this configuration, and the playlist manager PLMNG mayextract contents of the application segment element APPLSG shown in (d)of FIG. 56B and transmits a result of this extraction to the advancedapplication manager ADAMNG, and the advanced application manager ADMNGmay judge the validity of the advanced application ADAPL based on FIG.58 as another embodiment. Here, when the invalidity of display of theadvanced application ADAPL is determined, display (and executionprocessing based on this display) of the advanced application ADAPL isnot carried out for a user. On the contrary, when the validity of theadvanced application ADAPL is determined in the playlist manager PLMNG(or the advanced application manager ADAMNG), the advanced applicationmanager ADAMNG controls the advanced application presentation engineAAPEN in the presentation engine PRSEN shown in FIG. 30, therebystarting display and execution processing of the advanced applicationADAPL as a target (determined as valid).

As shown in FIG. 58, when a judgment on the validity of the advancedapplication ADAPL is started, whether autorun attribute informationATRNAT is “false” is first judged (step S91). If, the autorun attributeinformation ATRNAT written in (d) of FIG. 56B is determined as “false”,the advanced application ADAPL is regarded as invalid (step S97), anddisplay and execution processing for a user is not performed at all,thereby terminating the control. However, even in this state, an API (anapplication interface command) can be used to change a correspondingadvanced application ADAPL to a valid state. Then, when the autorunattribute information ATRNAT is not “false” (when it is specified as“true”) in the judgment at the step S91, a judgment is made upon whetheradvanced application group attribute (index number) information APGRATdescribed in (d) of FIG. 56B is written in the application segmentelement APPLSG (step S92). Here, if the advanced application groupattribute (index number) information APGRAT is written in theapplication segment element APPLSG, a judgment is made upon whether thewritten advanced application group attribute (index number) informationAPGRAT is valid (step S93). Here, if the written advanced applicationgroup attribute (index number) information APGRAT is valid, the advancedapplication ADAPL is regarded as valid (step S98). In this case, adisplay screen of the corresponding advanced application ADAPL isdisplayed for a user, and execution processing of the advancedapplication ADAPL corresponding to a user action is started. Further,when an API command based on a user request is input, or when a validperiod of the advanced application ADAPL on a title timeline TMLE isexpired, the processing is terminated. Here, when the advancedapplication group attribute (index number) information APGRAT specifiedin the judgment at the step S93 is invalid, the advanced applicationADAPL is regarded as invalid (step S97). However, even in this case, avalid application group can be selected or changed in response to an APIcommand based on input by a user or a specific script. Even if theadvanced application ADAPL described at the step S97 is regarded asinvalid, the validity at the step S93 is changed and the advancedapplication ADAPL is changed to be valid in some cases as described atstep S98 by application group change processing (or another selectionprocessing) which provides the validity based on the API command.Besides the judgment on the autorun attribute information ATRNAT and theadvanced application group attribute (index number) information APGRAT,the judgment on the validity of the advanced application ADAPL usinglanguage attribute information LANGAT is carried out as follows. Thatis, when the autorun attribute information ATRNAT based on the step S91is “true” and the advanced application group attribute (index number)information APGRAT described at the step S92 is not written in theapplication segment element APPLSG, whether application block attribute(index number) information APBLAT and language attribute informationLANGAT are written is judged (step S94). If the application blockattribute (index number) information APBLAT and the language attributeinformation LANGAT are written as described at the step S94, whether thelanguage attribute information LANGAT is specified as a menu language isjudged (step S95). The description has been given as to the fact thatthe advanced content playback unit ADVPL exists in the informationrecording and playback apparatus 1. The advanced content playback unitADVPL has a memory region in which information of system parameters canbe temporarily stored. FIG. 47 shows a list of profile parameters of thesystem parameters temporarily stored in the advanced content playbackunit ADVPL. As shown in FIG. 47, a parameter which specifies a menulanguage is included in the profile parameters. The menu languagedescribed at the step S95 means a menu language in the profileparameters shown in FIG. 47. The navigation manager NVMNG judges whetherlanguage information specified as the menu language matches with thelanguage attribute information LANGAT set in (d) of FIG. 56B, and thelanguage information is set as valid with respect to a matched advancedapplication ADAPL (step S98). At this time, if the language attributeinformation LANGAT does not match with the menu language, the languageattribute information LANGAT in a title element has a language attributeLANGAT in a default state. Furthermore, when an application segmentelement APPLSG in an application block does not have the languageattribute information LANGAT of the menu language (step S96), acorresponding advanced application ADAPL is automatically regarded asthe profile parameter, and the advanced application ADAPL is regarded asvalid (step S98). Moreover, in other cases, the advanced applicationADAPL is regarded as invalid (step S97). Additionally, as described atstep S94, when the application block and the language attributeinformation LANGAT are not written, the advanced application ADAPL isautomatically regarded as invalid (the step S97), and the controladvances to a termination step without performing display or executionprocessing for a user.

As a data configuration in a playlist PLLST, title information TTINFOexists as shown in (a) of FIG. 23A, and title element information TTELEMset in accordance with each title is written in the title informationTTINFO as shown in (b) of FIG. 23A. As shown in (c) of FIG. 23A, objectmapping information OBMAPI, resource information RESRCI, playbacksequence information PLSQI, track navigation information TRNAVI andscheduled control information SCHECI exist in one set of title elementinformation TTELEM. FIGS. 59A to 59C show data configurations in a mainvideo element MANVD, a main audio element MANAD, a subtitle elementSBTELE, a sub video element SUBVD and a sub audio element SUBAD existingin the object mapping information OBMAPI.

As shown in FIG. 10, primary audio video PRMAV can include main videoMANVD, main audio MANAD, sub video SUBVD, sub audio SUBAD andsub-picture. In accordance with this configuration, information of amain video element MANVD, a main audio element MANAD, a subtitle elementSBTELE, a sub video element SUBVD and a sub audio element SUBAD can bewritten in a primary audio video clip element PRAVCP as shown in (b) ofFIG. 59B. Although each single element is shown in (b) of FIG. 59B, thepresent invention is not restricted thereto. For example, when sub videoSUBVD and sub audio SUBAD do not exist in corresponding primary audiovideo PRMAV, a description of a sub video element SUBVD and a sub audioelement SUBAD can be eliminated in accordance with absence of thesemembers. Further, when a plurality of sets of main audio MANAD exist inthe same primary audio video PRMAV, a plurality of main audio elementsMANAD for respective tracks can be written in the primary audio videoclip element PRAVCP. As shown in FIG. 10, in this embodiment, substituteaudio video SBTAV can include main video MANVD and main audio MANAD. Inaccordance with this configuration, as shown in (b) of FIG. 59B, a mainvideo element MANVD and a main audio element MANAD can be written in asubstitute audio video clip element SBAVCP. Furthermore, as shown inFIG. 10, when a path through a network (the network server NTSRV) isrecorded as a recording position of an object of substitute audio videoSBTAV, a network source element NTSELE can be written in a substituteaudio video clip element SBAVCP. Likewise, when substitute audio SBTADand secondary audio video SCDAV are recorded in the network serverNTSRV, a network source element NTSELE can be written in a substituteaudio clip element SBADCP and a secondary audio video clip elementSCAVCP in accordance with this configuration. Moreover, as shown in FIG.10, in this embodiment, main audio MANAD can be included in substituteaudio SBTAD, and sub video SUBVD and sub audio SUBAD can be included insecondary audio video SCDAV. Therefore, in accordance with thisstructure, a main audio element MANAD can be written in a substituteaudio clip element SBADCP, and a sub video element SUBVD and a sub audioelement SUBAD can be written in a secondary audio video clip elementSCAVCP. As described in the section of the primary audio video clipelement PRAVCP, when a plurality of tracks exist in each clip element, aplurality of respective elements are written in accordance with eachtrack. A data configuration in the main video element MANVD is shown in(c) of FIG. 59C, and a data configuration in the main audio elementMANAD is shown in (d) of FIG. 59C. Additionally, a data configuration inthe subtitle element SBTELE is shown in (e) of FIG. 59C, a dataconfiguration in the sub video element SUBVD is shown in (f) of FIG.59C, and a data configuration in the sub audio element SUBAD is shown in(g) of FIG. 59C. Information in the respective element tags shown in (c)to (g) of FIG. 59C equally has the following characteristicsirrespective of types of the element tags.

(1) “track=[a track number TRCKAT]” is written at a leading part in eachelement tag. When a track number is written first in each element tag,identification of a track number for each element tag can befacilitated, and identification can be carried out at a high speed.

(2) “description=[additional information]” is equally written (arranged)at a last part in each element tag. As shown in FIGS. 54A and 54B andFIGS. 56A and 56B, “description=[additional information]” is alsowritten at a very last part in each clip element, thereby equalizing anarrangement in each element tag. Since an arrangement position of“description=[additional information]” is equal in this manner, aposition of “description=[additional information]” can be readilyextracted in the playlist manager PLMNG in the navigation manager NVMNGas shown in FIG. 28, thereby facilitating and speeding up data analysisin a playlist PLLST.

(3) “mediaAttr=[an index number MDATNM of a corresponding mediaattribute element in media attribute information]” is written (arranged)between the track number information TRCKAT and the additionalinformation.

(4) “streamNumber=[a stream number]” or “angleNumber=[angle numberinformation ANGLNM]” is written (arranged) between the track numberinformation TRCKAT and the index number MDATNM of a corresponding mediumattribute element in the medium attribute information.

When equalization of the data arrangement as described in (3) and (4) isachieved, facilitation and speed-up of retrieval of relevant informationin each element tag by using the playlist manager PLMNG can beperformed. A data configuration in each object element will now bedescribed hereinafter.

<Video Element>

Video element describes the Video Track number assignment for Main Videostream in VM_PCK of a P-EVOB.

XML Syntax Representation of Video element: <Video track =positiveInteger angleNumber = positiveInteger mediaAttr =positiveInteger description = string />

Video element can be present in PrimaryAudioVideoClip element and inSubstituteAudioVideoClip element. If Video element is present inPrimaryAudioVideoClip element which refers an Interleaved Block ofP-EVOB, Video element describes which P-EVOB in the Interleaved Block isavailable and the Video Track number assignment for Main Video inP-EVOB. Otherwise Main Video in P-EVOB shall be treated as available andassigned to Video Track number ‘1’.

(a) track attribute

Describes the Video Track number. Video Track number shall be integerfrom 1 to 9.

(b) angleNumber attribute

Describe which P-EVOB in Interleaved Block is available and selected forthe Video Track number, if Presentation Clip refers an Interleaved Blockof P-EVOB. Otherwise angleNumber attribute shall be omitted. If parentelement is PrimaryAudioVideoClip element, maximum angleNumber is ‘9’. Ifparent element is SubstituteAudioVideoClip element, streamNumber shallbe ‘1’. Default value is ‘1’.

(c) mediaAttr attribute

Describes the media attribute index of Media Attribute Information forVideo stream. The attribute can be omitted. Default value is 1.

(d) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

A description will be first given as to a data configuration in a mainvideo element MANVD. Information concerning a video track number set inaccordance with each main video MANVD stream in a main video pack VM_PCKexisting in a primary enhanced video object P-EVOB is written in themain video element MANVD. In this embodiment, the main video elementMANVD can be written in a primary audio video clip element PRAVCP and asubstitute audio video clip element SBAVCP. When the main video elementMANVD exists in the primary audio video clip element PRAVCP which makesreference to an interleaved block of the primary enhanced video objectP-EVOB, the main video element MANVD means that the primary enhancedvideo object exists in the interleaved block. Further, at the same time,setting information of a video track number with respect to the mainvideo MANVD in the primary enhanced video object P-EVOB is written inthe main video element MANVD. When the primary enhanced video objectP-EVOB does not form an interleaved block, the main video MANVD in theprimary enhanced video object P-EVOB solely exists, and a track numberof the main video MANVD is set to “1”. The track number informationTRCKAT described in (c) of FIG. 59C means information of a video tracknumber specified by a corresponding main video element MANVD. In thisembodiment, the video track number must be set to one of positivenumbers 1 to 9. A value of the track number information TRCKATcorresponds to a video track number VDTKNM (see (d) of FIG. 62B) in avideo track element VDTRK tag of track navigation information TRNAVI.That is, a relationship between attribute information or angle numberinformation of the main video MANVD written in a main video elementMANVD tag in track number assignment information (object mappinginformation OBMAPI) and user selection enabled/disabled informationwritten in a video track element VDTRK tag in track navigationinformation TRNAVI can be recognized through track number informationTRCKAT and a video track number VDTKNM having a matched value. Anglenumber information ANGLNM selected in the interleaved block shown in (c)of FIG. 59C means that primary enhanced video object data P-EVOB existsin the interleaved block. Furthermore, when a corresponding display clipmakes reference to an interleaved block of a primary enhanced videoobject P-EVOB based on angle number information ANGLNM selected in theinterleaved block, the interleaved block is used as information requiredto select a video track number to be displayed. That is, when a primaryenhanced video object P-EVOB exists in the interleaved block, settingangle number information ANGLNM selected in the interleaved block inaccordance with each main video stream simultaneously with the tracknumber information TRCKAT facilitates selection of an angle which isdisplayed by a player to a user in response to a user request. Ifcorresponding main video MANVD does not exist in the interleaved block,a description of angle number information ANGLNM (angleNumber attributeinformation) selected in the interleaved block is eliminated. When themain video element MANVD is written in a primary audio video clipelement PRAVCP, up to “9” can be set as angle number information ANGLNMselected in the interleaved block. Moreover, when the main video elementMANVD is written in a substitute audio clip element SBADCP, a value ofangle number information ANGLNM selected in the interleaved block is setto “1”. In this embodiment, a default value of the angle numberinformation ANGLNM selected in the interleaved block is set as “1”. Anindex number MDATNM of a corresponding media attribute element in themedia attribute information shown in (c) of FIG. 59C is indicative of avalue of a media attribute index number of media attribute informationMDATRI with respect to a corresponding main video stream. Mediaattribute information MDATRI exists in a playlist PLLST as shown in (a)of FIG. 79A, and a video attribute item element VABITM with respect tovideo is written in the media attribute information MDATRI. Whenattributes such as a resolution or a screen display size in a main videoelement MANVD and a sub video element SUBVD are all equal as shown in(b) of FIG. 59B, one video attribute item element VABITM exists in themedia attribute information MDATRI as shown in (b) of FIG. 79A, a valueof an index number MDATNM of a corresponding media attribute element inall sets of media attribute information is set as “1”, and reference ismade to common attribute information. On the other hand, when attributeinformation such as a resolution or a display screen size in each mainvideo element MANVD is different from that in a sub video element SUBVDand reference is made to a plurality of respective sets of attributeinformation, a plurality of video attribute item elements VABITMcorresponding to each attribute information are written as shown in (b)of FIG. 79A, and a number indicating which one of the plurality of videoattribute item elements corresponds is written as an index number MDATNMin a corresponding media attribute element in the media attributeinformation shown in (c) of FIG. 59C. As described above, in thisembodiment, when media attribute information MDATRI is collectivelywritten in a region different from that of title information TTINFO inwhich object mapping information OBMAPI is written as informationwritten in a playlist PLLST, not only retrieval of an attribute for eachvideo element can be facilitated, but also an amount of data written inthe playlist PLLST can be reduced by making reference to common videoattribute information between different video elements. In thisembodiment, it is possible to eliminate a description of an index numberMDATNM of a corresponding media attribute element in the media attributeinformation. In such a case, “1” which is a default value isautomatically set. As shown in (c) of FIG. 59C, additional informationconcerning a video element is written at a last part in a main videoelement tag in a text format which is familiar to people. A descriptionof the additional information concerning the video element can beeliminated in a main video element tag.

<Audio Element>

Audio element describes the Audio Track number assignment for Main Audiostream in AM_PCK of a P-EVOB, or for Main Audio stream in AM_PCK of anS-EVOB.

XML Syntax Representation of Audio element: <Audio track =positiveInteger streamNumber = positiveInteger mediaAttr =positiveInteger description = string />

Available Audio Track in a P-EVOB and S-EVOB shall be described by thelist of Audio elements in PrimaryAudioVideoClip element andSubstituteAudioClip element, respectively.

Audio element describes the conversion information from Audio Tracknumber to Main Audio stream.

(a) track attribute

Describes Audio Track number. Audio Track number shall be integer from 1to 8.

(b) streamNumber attribute

Describes which Audio stream in AM_PCK of P-EVOB/S-EVOB is assigned tothe Audio Track number. The attribute value shall be audio stream_idplus 1. For Linear PCM, DD+, DTS-HD or MLP, audio stream_id is the leastsignificant 3 bits of sub_stream_id. For MPEG-1 audio/MPEG-2 audio,audio stream_id is the least significant 3 bits of stream_id in thepacket header. The streamNumber shall be integer from 1 to 8. Defaultvalue is ‘1’.

(c) mediaAttr attribute

Describes the media attribute index of Media Attribute Information forAudio stream. The attribute can be omitted. Default value is ‘1’.

(d) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

A data configuration in a main audio element MANAD shown in (d) of FIG.59C will now be described. In a main audio element MANAD is writteninformation about a setting of an audio track number of a main audiostream in a main audio pack AM_PCK of a primary enhanced video objectP-EVOB or information about a setting of an audio track numberconcerning a main audio stream in a main audio pack AM_PCK of asecondary enhanced video object S-EVOB. Information of audio trackswhich can exist (can be used) in the primary enhanced video objectP-EVOB and the secondary enhanced video object S-EVOB is written basedon a list of audio elements in a primary audio video clip element PRAVCPand a substitute audio clip element SBADCP, respectively. That is, forexample, when three audio tracks exist in a corresponding audio stream,three main audio elements MANAD having respective track numbers 1 to 3being set thereto are written in the primary audio video clip elementPRAVCP. Information which is converted from each audio track number intoa main audio stream MANAD is written in the main audio element MANAD.That is, as shown in (d) of FIG. 59C, it is possible to extract acorrespondence relationship of an audio stream number ADSTRN of acorresponding audio pack from track number information TRCKAT for eachmain audio MANAD. When a corresponding audio stream number ADSTRN isextracted from a specified track number, a main audio stream MANADrequired for playback can be extracted by using information of an audiostream number ADSTRN set in an enhanced video object EVOB. trackattribute information shown in (d) of FIG. 59C represents track numberinformation TRCKAT. In this embodiment, a value of one of positivenumbers 1 to 8 can be written as a value of the track number informationTRCKAT. That is, in this embodiment, information can be recorded in upto eight tracks as the main audio MANAD. A value of the track numberinformation TRCKAT corresponds to an audio track number ADTKNM (see (d)of FIG. 62B) in an audio track element ADTRK tag of track navigationinformation TRNAVI. That is, a relationship between attributeinformation or audio stream number information of main audio MANADwritten in a main audio element MANAD tag in track number assignmentinformation (object mapping information OBMAPI) and user selectionenabled/disabled information or language code information written in anaudio track element ADTRK tag in track navigation information TRNAVI canbe recognized through track number information TRCKAT and an audio tracknumber ADTKNM having the same value. Further, different audio tracknumbers are respectively set to audio streams in a main audio pack of aprimary enhanced video object P-EVOB or a secondary enhanced videoobject S-EVOB, and information of an audio stream number ADSTRN in anaudio pack corresponding to the track number represents thecorrespondence relationship. As a value of the audio stream numberADSTRN in the audio pack corresponding to the track number, a valueobtained by adding “1” to an ID number of the audio stream is set. Avalue of an audio stream ID is represented by meaningful low-order threebits of a sub-stream ID in LineatPCM, DD+, DTS-HD or MLP. Furthermore,in MPEG1 audio or MPEG2 audio, a value of an audio stream ID is definedby meaningful (valid) low-order three bits of a stream ID in a packetheader. In this embodiment, a value of the audio stream number ADSTRN isset as a positive number from 1 to 8. “1” is set as a default value ofthe audio stream number ADSTRN. An index number MDATNM of acorresponding media attribute element in media attribute informationshown in (d) of FIG. 59C represents a media attribute index number ofmedia attribute information MDATRI corresponding to an audio stream. Themedia attribute information MDATRI corresponding to the audio stream iswritten in an audio attribute item element AABITM in media attributeinformation MDATRI in a playlist PLLST as shown in (b) of FIG. 79A. Asshown in (b) of FIG. 59C, when audio attribute information such as anaudio compression code or a sampling frequency quantization bit numberof a main audio element MANAD in object mapping information OBMAPI allmatches with that of a sub audio element SUBAD in the same, one commonaudio attribute item element AABITM is written (b) of FIG. 79A. On thecontrary, when a plurality of different pieces of attribute informationsuch as compression code information or an audio sampling frequency areset in the main audio element MANAD and the sub audio element SUBADshown in FIGS. 59A to 59C, audio attribute item elements AABITM whosenumber corresponds to the number of different audio attributes arewritten in (b) of FIG. 79A. When the plurality of audio attribute itemelements AABITM are written, since it is necessary to specifyassociation with each audio attribute item element AABITM, specifyingmedia index number information INDEX written in the audio attribute itemelement AABITM can associate the audio attribute item element AABITMcorresponding to each main audio element MANAD or sub audio elementSUBAD. As described above, setting a position of media attributeinformation MDATRI in which audio attribute item elements AABITM arecollectively written which is different from a position of titleinformation TTINFO in which object mapping information OBMAPI is writtencan facilitate setting/management of the audio decoder in playback ofaudio information, and sharing the audio attribute item elements AABITMhaving common attribute information can reduce an amount of informationwritten in a playlist PLLST. Additional information concerning an audioelement shown in (d) of FIG. 59C is written in a text format familiar topeople. A description of the additional information concerning the audioelement can be eliminated in a main audio element MANAD tag.

<Subtitle Element>

Subtitle element describes the Subtitle Track number assignment forSub-picture stream in SP_PCK of a P-EVOB, and for Advanced Subtitle.

XML Syntax Representation of Subtitle element: <Subtitle track =positiveInteger streamNumber = positiveInteger mediaAttr =positiveInteger description = string />

Available Sub-picture stream in a P-EVOB shall be described by the listof Subtitle elements in PrimaryAudioVideoClip element.

If Subtitle element is in PrimaryAudioVideoClip element, Subtitleelement describes the conversion information from Subtitle Track numberto Sub-picture stream in P-EVOB.

If Subtitle element is in AdvancedSubtitleSegment element, Subtitleelement describes the corresponding segment of Advanced Subtitle isassigned to specified Subtitle Track number.

(a) track attribute

Describes Subtitle Track number. Subtitle Track number shall be integerfrom 1 to 32.

(b) streamNumber attribute

If parent element is PrimaryAudioVideoClip element, streamNumberdescribes Sub-picture stream number plus ‘1’. Sub-picture stream numbershall be converted to decoding stream number by EVOB_SPST_ATRT inaccordance with display type. The decoding stream number identifies theSP_PCK in P-EVOB. The streamNumber shall be integer from 1 to 32. If theparent element is AdvancedSubtitleSegment element, streamNumber shall beomitted. Default value is ‘1’.

(c) mediaAttr attribute

Describes the media attribute index of Media Attribute Information forSub-picture stream. The attribute can be omitted. Default value is ‘1’.For Subtitle element for Advanced Subtitle, the mediaAttr attributeshall be ignored.

(d) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted

More intelligible explanations will be provided below.

When a subtitle element SBTELE exists in a primary audio clip elementPRAVCP, information of conversion from a subtitle track number into asub-picture stream in primary enhanced video object data P-EVOB iswritten in information of the subtitle element SBTELE. That is, sincecorrespondence information between track number information TRCKAT of asubtitle and a sub-picture stream number SPSTRN in a sub-picture packcorresponding to the track number is written in (e) of FIG. 59C, it ispossible to recognize information of the sub-picture stream numberSPSTRN in the sub-picture pack from the track number information TRCKATof the sub-picture specified by utilizing the correspondenceinformation. If the subtitle element SBTELE exists in an advancedsubtitle segment element ADSTSG, setting information set to a segmentspecified subtitle track number of a corresponding advanced subtitle iswritten in the subtitle element SBTELE. The track number informationTRCKAT of the subtitle shown in (e) of FIG. 59C means a track number ofthe subtitle, and a positive number from 1 to 32 can be set as thesubtitle track number in this embodiment. That is, in this embodiment,up to 32 tracks can be simultaneously set as subtitles. A value of thetrack number information TRCKAT corresponds to a subtitle track numberSTTKNM (see (d) of FIG. 62B) in a subtitle track element SBTREL of tracknavigation information TRNAVI. That is, a relationship between attributeinformation or sub-picture stream number information written in asubtitle element SBTELE tag in track number assignment information(object mapping information OBMAPI) and user selection enabled/disabledinformation or language code information written in a subtitle trackelement SBTREL tag in track navigation information TRNAVI can berecognized through track number information TRCKAT and subtitle tracknumber STTKNM having the same value. When the subtitle element SBTELEexists in a primary audio video clip element PRAVCP, a value obtained byadding “1” to a sub-stream number is set as a value of a sub-picturestream number SPSTRN in a sub-picture pack corresponding to the tracknumber. The sub-picture stream number must be converted into a streamnumber which is decoded in accordance with each display type byutilizing sub-picture stream attribute information EVOB_SPST_ATTR of anenhanced video object. Moreover, the decoding steam number is associatedwith a sub-picture pack SP_PCK in primary enhanced video object dataP-EVOB in a one-on-one relationship. In this embodiment, a sub-picturestream number SPSTRN in the sub-picture pack must be specified as apositive value from 1 to 32. In this embodiment, information of anadvanced subtitle ADSBT does not take such a multiplexed packingconformation as stored in the sub-picture pack SP_PCK. Therefore, asub-picture stream number SPSTRN in the sub-picture pack cannot bedefined. Accordingly, when a subtitle element is written in an advancedsubtitle segment element ADSTSG, a description of a sub-picture streamnumber of the sub-picture pack is eliminated from the subtitle elementSBTELE tag. When the description of a sub-picture stream number SPSTRNof the sub-picture pack is eliminated from the subtitle element SBTELE,“1” as a default value is automatically set. As shown in (b) of FIG.79A, a sub-picture attribute item element SPAITM exists in mediaattribute information MDATRI in a playlist PLLST. If a plurality ofsub-picture attribute item elements SPAITM exist in the media attributeinformation MDATRI, individual medial index number information INDEXcorresponding to compression code information SPCDC of differentsub-pictures are written in the form of pairs as shown in (e) of FIG.79B. Specifying media index number information INDEX shown in (b) ofFIG. 79A by an index number MDATNM of a corresponding media attributeelement in the media attribute information shown in (e) of FIG. 59C canassociate compression code information SPCDC of a correspondingsub-picture. As described above, index number MDATNM information of acorresponding media attribute element in the media attribute informationspecifies an index number of the media attribute information withrespect to a sub-picture stream. In this embodiment, a description ofinformation of the index number MDATNM of a corresponding mediaattribute element in the media attribute information can be eliminatedin the subtitle element SBTELE. In such a case, “1” is automatically setas a default value. In the advanced subtitle ADSBT, the compression codeinformation SPCDC of the sub-picture does not have any meaning.Therefore, when the subtitle element SBTELE is written in an advancedsubtitle segment element ADSTSG, a value of the index number MDATNM of acorresponding media attribute element in the media attribute informationmust be ignored. Additional information concerning a subtitle elementSBTELE shown in (e) of FIG. 59C is written in a text format familiar topeople, and a description of the additional information can beeliminated in the subtitle element SBTELE tag.

<SubVideo (Sub Video) Element>

SubVideo element describes the Sub Video Track number assignment for SubVideo stream in VS_PCK of a P-EVOB, or for Sub Video stream in VS_PCK ofan S-EVOB.

XML Syntax Representation of SubVideo element: <SubVideo track =positiveInteger mediaAttr = positiveInteger description = string />

If SubVideo element is present in PrimaryAudioVideoClip element, SubVideo stream in VS_PCK of the P-EVOB is available as Sub Video.Otherwise it is not available.

If SubVideo element is present in SecondaryAudioVideoClip element, SubVideo stream in VS_PCK of the S-EVOB is available as Sub Video.Otherwise it is not available.

(a) track attribute

Describes Sub Video Track number. The number shall always be ‘1’.

(b) mediaAttr attribute

Describes the media attribute index of Media Attribute Information forVideo stream. The attribute can be omitted. Default value is ‘1’.

(c) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

A data configuration in a sub video element SUBVD shown in (f) of FIG.59C will now be described. The sub video element SUBVD corresponds to asub video stream in a sub video pack VS_PCK of primary enhanced videoobject data P-EVOB, and sub video track number setting information iswritten in accordance with each sub video stream. Alternatively, settinginformation of a sub video track number of a sub-stream recorded in asecondary video pack VS_PCK in secondary enhanced video object dataS-EVOB can be written in the sub video element SUBVD. When there is adescription of the sub video element SUBVD in a primary audio video clipelement PRAVCP, this means that a sub video stream as sub video exists(can be played back) in a secondary video pack VS_PCK of primaryenhanced video object data P-EVOB. In other cases, i.e., when a subvideo element SUBVD does not exist in the primary audio video clipelement PRAVCP, a sub video stream is not recorded in the form of asecondary video pack VC_PCK. If the sub video element SUBVD exists inthe secondary audio video clip element SCAVCP, this means that a subvideo stream exists (can be used) in the secondary video pack VS_PCK ofthe secondary enhanced video object data S-EVOB as sub video. In othercases, i.e., when a description of the sub video element SUBVD does notexist in the secondary audio video clip element SCAVCP, a sub videostream does not exist in the form of the secondary video pack VS_PCK.Although track number information TPRCKAT shown in (f) of FIG. 59C isindicative of a sub video track number, providing a plurality of subvideo tracks is inhibited in this embodiment, and hence the track numberinformation TRCKAT must be always set as “1”. As an index number MDATNMof a corresponding media attribute element in the media attributeinformation shown in (f) of FIG. 59C, media index number informationINDEX in a video attribute item element VABITM described in (d) of FIG.59B is written, thereby specifying information such as a compressioncode, an aspect ratio, a resolution, a display screen size and others ofcorresponding sub video. Additional information concerning a sub videoelement shown in (f) of FIG. 59C is written in a text format familiar topeople, and a description of this information can be eliminated in a subvideo element SUBVD tag.

<SubAudio (Sub Audio) Element>

SubAudio element describes the Sub Audio Track number assignment for SubAudio stream in AS_PCK of a P-EVOB, or for Sub Audio stream in AS_PCK ofan S-EVOB.

XML Syntax Representation of SubAudio element: <SubAudio track =positiveInteger streamNumber = positiveInteger mediaAttr =positiveInteger description = string />

If SubAudio element is present in PrimaryAudioVideoClip element, SubAudio stream in VS_PCK of the P-EVOB is available as Sub Audio.Otherwise it is not available.

If SubAudio element is present in SecondaryAudioVideoClip element, SubAudio stream in AS_PCK of the S-EVOB is available as Sub Audio.Otherwise it is not available.

Available Sub Audio Track in a P-EVOB and S-EVOB shall be described bythe list of SubAudio elements in PrimaryAudioVideoClip element andSecondaryAudioVideoClip element, respectively.

(a) track attribute

Describes Sub Audio Track number. Sub Audio Track number shall beinteger from 1 to 8.

(b) streamNumber attribute

Describes which Audio stream in AS_PCK in P-EVOB/S-EVOB is assigned tothe Sub Audio Track number. The attribute value shall be audio stream_idplus 1. The streamNumber shall be integer from 1 to 8. Default value is‘1’.

(c) mediaAttr attribute

Describes the media attribute index of Media Attribute Information forAudio stream. The attribute can be omitted. Default value is ‘1’.

(d) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

At last, a data configuration in a sub audio element SUBAD shown in (g)of FIG. 59C will now be described. The sub audio element SUBAD isindicative of management information concerning a sub audio stream in asecondary audio pack AS_PCK of primary enhanced video object dataP-EVOB. Sub audio track number setting information set in accordancewith each sub audio stream is written in the sub audio element SUBAD.Further, the sub audio element SUBAD also represents managementinformation concerning a sub audio stream in a secondary audio packAS_PCK of secondary enhanced video object data S-EVOB in some cases. Insuch a case, the sub audio track number setting information set inaccordance with each sub audio stream is written in the sub audioelement SUBAD. If the sub audio element SUBAD exists in the primaryaudio video clip element PRAVCP, this means that a sub audio streamexists (can be played back) as sub audio in the secondary audio packAS_PCK of the primary enhanced video object data P-EVOB. Besides, if thesub audio element SUBAD does not exist in the primary audio video clipelement PRAVCP, this means that a sub audio stream does not exist in thesecondary audio pack AS_PCK. If the sub audio element SUBAD is writtenin the secondary audio video clip element SCAVCP, this means that a subaudio stream exists (can be played back) as sub audio in the secondaryaudio pack AS_PCK of the secondary enhanced video object data S-EVOB.Besides, when there is no description of the sub audio element SUBAD inthe secondary audio video clip element SCAVCP, a sub audio stream doesnot exist in the secondary audio pack AS_PCK. Further, sub audio trackswhich can be used in the primary enhanced video object data P-EVOB andthe secondary enhanced video object data S-EVOB are written as a list ofsub audio elements SUBAD in the primary audio video clip element PRAVCPand the secondary audio video clip element SCAVCP, respectively. Tracknumber information TRCKAT shown in (g) of FIG. 59C is indicative of asub audio track number, and a positive number from 1 to 8 must bewritten as the sub audio track number in this embodiment. A value of thetrack number information TRCKAT corresponds to an audio track numberADTKNM (see (d) of FIG. 62B) in an audio track element ADTRK tag oftrack navigation information TRNAVI. That is, a relationship betweenattribute information of sub audio SUBAD or sub-audio stream numberinformation written in the sub audio element SUBAD tag in track numberassignment information (object mapping information OBMAPI) and userselection enabled/disabled information or language code informationwritten in the audio track element ADTRK tag in the track navigationinformation TRNAVI is associated by track number information TRCKAT andan audio track number ADTKNM having the same value. As shown in (g) ofFIG. 59C, the track number and a sub audio stream number SASTRN in a subaudio pack has a one-on-one relationship. That is, each sub audio tracknumber is set in accordance with each audio stream recorded in thesecondary audio pack AS_PCK multiplexed in the primary enhanced videoobject data P-EVOB or the secondary enhanced video object data S-EVOB,and each sub audio track number is written in the sub audio elementSUBAD. Information of the sub-audio stream number SASTRN of a sub audiopack corresponding to the track number is set as information obtained byadding “1” to a value of an audio stream ID. Furthermore, a positivenumber from 1 to 8 must be set as a value of the sub audio stream numberSASTRN of the sub audio pack. In this embodiment, only one track of thesub audio SUBAD can be provided in the secondary audio video SCDAV.Therefore, when the sub audio element SUBAD is written in the secondaryaudio video clip element SCAVCP, a description of the sub audio streamnumber SASTRN of the sub audio pack must be eliminated, or a value “1”must be set. In this embodiment, “1” is set as a default value of theaudio stream number SASTRN of the sub audio pack. As shown in (c) ofFIG. 79B, media index number information INDEX is written in an audioattribute item element AABITM, and audio attribute information such ascompression code information ADCDC, a sampling frequency ADSPRT or aquantization bit number SPDPT of corresponding audio can be associatedby specifying the media index number INDEX. Setting a value of the mediaindex number information INDEX written in (c) of FIG. 79B as a value ofa corresponding media attribute element index number MDATNM in the mediaattribute information shown in (g) of FIG. 59C can associate the audioattribute information in accordance with each sub audio element SUBAD.Additional information concerning a sub audio element shown in (g) ofFIG. 59C is written in a text format familiar to people, and adescription of the additional information can be eliminated in the subaudio element SUBAD tag.

<Track Number Assignment Element and Track>

Each Presentation Object assigned in Title Timeline by Object MappingInformation, have one or more elementary streams. Playlist filedescribes which elementary stream in each Presentation Object is enabledin a Presentation Clip element valid period.

Track is a logical entity for an elementary stream in a PresentationObject, to be selected by API, or user navigation during the Titleplayback. Track is identified by Track Number per a Title.

There are five types of Track: Video Track to select Angle, Audio Trackto select Main Audio, Subtitle Track to select Subtitle, Sub Video Trackto select Sub Video and Sub Audio Track to select Sub Audio. Relationamong Track, Presentation Object and elementary stream is shown in FIG.60.

A Presentation Clip element except for ApplicationSegment element cancontains a list of element, called by Track Number Assignment element,which describes Track Number Assignment information. Track NumberAssignment elements are shown in FIG. 60.

For each Track, Track number shall be assigned by Playlist file. Tracknumber shall be a positive integer.

Track number is used by track selection from API, or User navigationdescribed by Track Navigation Information.

Video Track number is used by Main Video Angle selection. Audio Tracknumber is used by Main Audio selection. Subtitle Track number is used bySub-picture and Advanced Subtitle selection. Sub Video Track number andSub Audio Track number are used by the selection of Sub Video and SubAudio selection.

Track Number Assignment Information describes conversion informationfrom Track number to an Elementary Stream in Presentation Object foreach time on Title Timeline.

Track Number Assignment to elementary stream in a Presentation Objectshall be described in the corresponding Presentation Clip element.Assignment of Video Track number shall be described by Video element.Assignment of Audio Track number shall be described by Audio element.Assignment of Subtitle Track number shall be described by Subtitleelement. Assignment of Sub Video Track number shall be described bySubVideo element. Assignment of SubAudio Track number shall be describedby SubAudio element.

For each type of Track and each time in a Title Timeline, Track numbershall be uniquely assigned to an elementary stream of the PresentationClip.

Sub Video Track number shall be ‘1’.

More intelligible explanations will be provided below.

Playback periods of all playback/display target objects are set on atitle timeline TMLE by object mapping information OBMAPI. Additionally,each playback/display object is constituted of “1” or more elementarystreams. For example, as shown in FIG. 10, a primary enhanced videoobject P-EVOB as a playback/display target object of primary audio videoPRMAV is constituted of elementary streams such as main video MANVD,main audio MANAD, sub video SUBVD, sub audio SUBAD, a sub-picture SUBPTand others. Further, a timing at which each elementary stream in eachplayback/display object is displayed to enter a valid period is writtenin a playlist file PLLST shown in (b) of FIG. 59C. As shown in FIG. 60,a logical identification unit which is set in accordance with eachelementary stream in the playback/display object is called a track. Forexample, as shown in FIG. 10, the main audio MANAD can exist in primaryaudio video PRMAV, substitute audio SBTAD or substitute audio videoSBTAV. It can be associated with a main audio track MATRK in accordancewith an identification unit of each main audio MANAD. A track whichshould be displayed/played back is selected based on an API command oruser specification during playback of a specific title, and the selectedtrack is displayed/played back for a user. Each track can bediscriminated from other tracks based on each track number in a title.In this embodiment, as shown in FIG. 60, it is possible to define fivetypes of tracks consisting of a main video track MVTRK, a main audiotrack MATRK, a subtitle track SBTTRK, a sub video track SVTRK and a subaudio track SATRK. Specifying the track number in the advanced contentplayback unit ADVPL can select specific main video MANVD, main audioMANAD, sub video SUBVD, sub audio SUBAD and sub-picture SUBPT. FIG. 60shows a relationship between a playback/display object and an elementarystream and each track corresponding to this object. The relationshipcorresponds to contents of the list depicted in FIG. 10. As shown in (c)to (g) of FIG. 59C, in this embodiment, track number information TRCKATcan be written in each element tag. Therefore, each of these elements iscalled a track number setting element (a track number assignmentelement). As shown in (c) to (g) of FIG. 59C, each track number is set(as track number information TRCKAT) in a playlist file PLLST inaccordance with each track. Furthermore, a positive number value whichis not smaller than “1” must be set as the track number TRCKAT. Thetrack number TRCKAT is selected based on an API command or userspecification, and the selected number is utilized to select a trackwhich is displayed/played back for a user. The track number TRCKATcorresponds to various track numbers shown in (d) of FIG. 62B.Information required for selection of a track is written in the tracknavigation information depicted in (d) of FIG. 62B. Therefore, in theadvanced content playback unit ADVPL (the playlist manager PLMNG in thenavigation manager NVMNG shown in FIG. 28), the track navigationinformation is utilized to select a track based on an API command oruser specification. Specifically, a video track number VDTKNM (see FIG.62B or 62C) can be used to select a video angle in the main video MANVDwhich is displayed for a user. Moreover, an audio track number ADTKNMcan be used to select a track in the main audio MANAD. Additionally,specifying a subtitle track number STTKNM can select a predeterminedtrack of the sub-picture SUBPT or the advanced subtitle ADSBT. Further,a sub video track number and a sub audio track number can be used toselect tracks of the sub video SUBVD and the sub audio SUBAD.Correspondence information of the track number information TRCKAT and anaudio stream number ADSTRN of an audio pack corresponding to the tracknumber is written in (d) of FIG. 59C, and correspondence information ofthe track number information TRCKAT and a sub-picture stream numberSPSTRN of a sub-picture pack corresponding to the track number iswritten as shown in (e) of FIG. 59C. As can be understood from theabove-described example, information which associates each elementarystream in a display/playback object from each track number TRCKAT iswritten in the track number setting information (the track numberassignment information). The track number setting information (the tracknumber assignment) corresponding to each elementary stream recorded in aplayback/display object is written in a child element (e.g., a mainvideo element MANVD) in a display/playback clip element (e.g., a primaryaudio video clip element PRAVCP) which manages the playback/displayobject. That is, as shown in (c) of FIG. 59C, as a value of the tracknumber information TRCKAT (track attribute information) in the mainvideo element MANVD, a value of the video track number VDTKNM of acorresponding video track element VDTRK in the track navigationinformation TRNAVI (see (d) of FIG. 62B) is written. Additionally, asshown in (d) of FIG. 59C, as a value of the track number informationTRCKAT (the track attribute information) in the main audio elementMANAD, a value of the audio track number ADTKNM of a corresponding audiotrack element ADTRK in the track navigation information TRNAVI (see (d)of FIG. 62B) is written. Further, as shown in (e) of FIG. 59C, as avalue of the track number information TRCKAT (the track attributeinformation) in the subtitle element SBTELE, a value of the subtitletrack number STTKNM of a corresponding subtitle track element SBTREL inthe track navigation information TRNAVI (see (d) of FIG. 62B) iswritten. Likewise, as shown in (g) of FIG. 59C, as a value of the tracknumber information TRCKAT (the track attribute information) in the subaudio element SUBAD, a value of the audio track number ADTKNM of acorresponding audio track element ADTRK in the track navigationinformation TRNAVI (see (d) of FIG. 62B) is written. Furthermore, inthis embodiment, the sub video track number (track number informationTRCKAT corresponding to a sub video track in (f) of FIG. 59C) must beset to “1”. Moreover, in this embodiment, a track number which isdifferent (unique) in accordance with each of different elementarystreams in each playback/display clip element must be set. For example,when valid periods on title timelines specified on a plurality ofdifferent playback/display clip elements overlap each other, tracknumbers must be set in such a manner that the track numbers do notoverlap between the elementary streams belonging to the differentplayback/display clip elements in a time zone in which the valid periodsoverlap. In this embodiment, the same track number may be set betweenelementary streams having different track types (types each of whichindicates contents of an elementary stream such asvideo/audio/subtitle).

FIGS. 61A to 61C show examples of a description of track numberassignment information. A setting method of a track number set in eachelementary stream written in FIGS. 61A to 61C is based on a relationshipdepicted in FIG. 60. In an example shown in (c) of FIG. 61C, informationof a time map PTMAP concerning the primary audio video PRMAV is storedunder a file name AVMAPOOl.MAP in the information storage medium DISC.In this embodiment, a file name and a storage position of correspondingprimary enhanced video object data P-EVOB also match of those of thetime map file PTMAP (however, an extension alone of the file namediffers like “MAP” and “EV0”). That is, a file name under which theprimary enhanced video object data P-EVOB corresponding to the primaryaudio video PRMAV is recorded is a file name AVMAP001.EV0. As shown in(c) of FIG. 61C, since “clipTimeBegin=“00:00:00:00”” is written in theprimary audio video clip element PRAVCP, playback is started from aleading position of the primary enhanced video object data P-EVOB filewhen playback is performed in a playlist PLLST. In the playlist PLLST,playback is performed until 10 minutes and 21 seconds elapse from a topposition on a title timeline TMLE. The main video MANVD existing in theprimary audio video PRMAV is multiangled, and the video having an anglenumber “1” is set as a video track number “1”, and the video having anangle number “2” is set as a video track number “2”. Three audio tracksexist in the primary audio video PRMAV. An elementary audio streamhaving a stream number “0” is set to an audio track number “1”, anelementary audio stream having a stream number “2” is set to an audiotrack number “2”, and an elementary audio stream having an audio streamnumber “3” is set to an audio track number “3”. Further, at the sametime, two subtitle tracks are provided. In the embodiment shown in (c)of FIG. 61C, it is possible to playback/display substitute audio SBTADstored in the persistent storage PRSTR in place of main audio MANAD ofprimary audio video PRMAV. When an audio track number in this example isset to “4”, a user can selectively playback/display any main audio MANADhaving one of audio track numbers from “1” to “4”. Furthermore, in theembodiment shown in (c) of FIG. 61C, an advanced subtitle ADSBT storedin the persistent storage PRSTR can be simultaneously displayed atcompletely the same timing as a display timing of the primary audiovideo PRMAV. A track number of the advanced subtitle ADSBT in this caseis set to “3”, and the advanced subtitle is set in the primary audiovideo PRMAV in advance and can be selectively displayed with sub-pictureSUBPT. That is, subtitle tracks “1” to “3” exist, and any subtitle trackfrom “1” to “3” can be selectively displayed while displaying the mainvideo MANVD having a specific angle of the main videos MANVD in theprimary audio video PRMAV.

The track number assignment information shown in (c) to (g) of FIG. 59Crepresents the correspondence between a stream number of a correspondingstream and a track number TRCKAT and a relationship with respect tomedia attribute information (an index number MDATNM of a media attributeelement) corresponding to each track number TRCKAT. On the other hand,contents of the track navigation information TRNAVI shown in (d) of FIG.62B to (e) of FIG. 62C are a collective description of informationrequired for a user to select each track number. An information linkbetween the track number assignment information and the track navigationinformation TRNAVI is associated based on each track number TRCKAT. Thatis, the same value as the track information TRCKAT shown in (c) to (d)of FIG. 59C is set to a video track number VDTKNM, an audio track numberADTKNM and a subtitle track number shown in (d) of FIG. 62B, and thesame value can be utilized to link the track number assignmentinformation and the track navigation information TRNAVI. A descriptionwill now be given as to a position in a playlist PLLST where the tracknavigation information TRNAVI is written with reference to FIGS. 62A to62C. As shown in FIGS. 62A to 62C, configuration information CONFGI,media attribute information MDATRI and title information TTINFO exist inthe playlist PLLST. As shown in (b) of FIG. 62A, first play titleelement information FPTELE, title element information TTELEM concerningeach title, and playlist application element information PLAELE exist inthe title information TTINFO. As shown in (c) of FIG. 62A, the tracknavigation information TRNAVI exists in the title element informationTTELEM for each title.

As described above, the track navigation information TRNAVI exists inthe title element information TTELEM in the playlist file PLLST. Thetrack navigation information TRNAVI is constituted of a track navigationlist element as shown in (e) of FIG. 62C. A list concerning a main videotrack MVTRK, a main audio track MATRK, a sub audio track SATRK and a subtitle track SBTTRK which can be selected by a user is written in thetrack navigation information TRNAVI. As shown in (d) of FIG. 62B, in thetrack navigation information TRNAVI, attribute information concerningthe main video track MVTRK which can be selected by a user is written ina video track element VDTRK. Moreover, likewise, attribute informationconcerning the main audio track MATRK and the sub audio track SATRKwhich can be selected by a user is recorded in an audio track elementADTRK, and attribute information concerning the subtitle track SBTTRKwhich can be selected by a user is written in a subtitle track elementSBTREL. As shown in (d) of FIG. 62B, a flag USIFLG (selectable attributeinformation) indicating whether user selection is enabled exists in allof the video track element VDTRK, the audio track element ADTRK and thesubtitle track element SBTREL. A value shown in the flag USIFLG (theselectable attribute information) indicating whether user selection isenabled represents whether a corresponding track can be selected by auser. That is, when a value which is written after “selectable=” is“true”, this means that a corresponding track can be selected by a user.When a value which is written after “selectable=” is “false”, this meansthat a corresponding track cannot be selected by a user. In this manner,the main video track MVTRK, the main audio track MATRK, the sub audiotrack SATRK or the subtitle track SBTTRK having a value of theselectable attribute information being set as “true” is called a userselectable track. As shown in FIG. 44, a storage position of a defaultevent handler script DEVHSP exists in the advanced application managerADAMNG. FIG. 45 shows contents of a default input handler stored in thedefault even handler script DEVHSP. As shown in FIG. 45, a default inputhandler name changeSubtitleHandler (a virtual key code is VK_SUBTITLE)means a user input event which is a change in a subtitle track.Additionally, a default input handler name changeAudioHandler (thevirtual key code is VK_AUDIO) means a user input event concerningswitching of audio tracks. The user selectable track is selected basedon a user operation defined by the default event handler. Further, asshown in (e) of FIG. 62C, a track having a value of “selectable=” beingset as “false” is called a user non-selectable track. Furthermore, inregard to the main audio track MATRK and the sub audio track SATRK,information of an audio language code and a language code extensiondescriptor is set based on audio language code and audio languageextension descriptor ADLCEX (language attribute information) written inan audio track element ADTRK. Further, in regard to the subtitle trackSBTTRK, information of a language code and a language code extensiondescriptor are set based on a subtitle language code and a subtitlelanguage code extension descriptor STLCEX (langcode attributeinformation) in the subtitle track element SBTREL. The language code andthe language code extension descriptor are utilized by an API commandwhich selects a track. Moreover, when a value of a flag FRCFLG (forcedattribute information) attribute indicative of forced screen outputwhich is written in the subtitle track element SBTREL, a correspondingsubtitle track SBTTRK (a sub-picture SUBPT) must be forcibly output to ascreen irrespective of a will of a user. On the contrary, when a valueof the flag FRCFLG (the forced attribute information) indicative of theforced screen output is set to “false”, a corresponding subtitle (asub-picture SUBPT) does not necessarily have to be output to a screen,and whether display is performed can be set by user selection. Forexample, when a subtitle is prevented from being displayed by userselection, forcibly displaying in a screen a subtitle in a specificregion alone by an intention of a content provider improves theexpression for a user in some cases. In such a case, setting a value ofthe flag FRCFLG (the forced attribute information) indicative of theforced screen output to “true” can improve the expression of a contentprovider for a user. Furthermore, additional information written in atext format can be written in accordance with each track element, and itcan be also utilized for identification for each track.

<TrackNavigationList (Track Navigation List) Element>

TrackNavigationList element describes Track Information in a Title.Track Information for a Title is described in Track Information elementdescribes the all attribute for a Track.

XMT Syntax Representation of TrackNavigationList element:<TrackNavigationList> VideoTrack * AudioTrack * SubtitleTrack *</TrackNavigationList>

The content of TrackNavigationList consists of a list of VideoTrackelement, AudioTrack element and SubtitleTrack element. These elementsare called by Track Navigation Information element.

More intelligible explanations will be provided below.

The track navigation list element explains track information in a title.Contents of the track navigation list are constituted of a list of avideo track element VDTRK, an audio track element ADTRK and a subtitletrack element SBTREL, and these elements are called track navigationinformation elements TRNAVI. Further, the track information in a titleis written in the video track element VDTRK, the audio track elementADTRK and the subtitle track element SBTREL. Furthermore, the videotrack element VDTRK, the audio track element ADTRK and the subtitletrack element SBTREL are also indicative of attribute information withrespect to a track.

<VideoTrack (Video Track) Element>

VideoTrack element describes the attribute list of Video Track.

XML Syntax Representation of VideoTrack element: <VideoTrack track =positiveInteger selectable = (true | false) description = string />

(a) track attribute

Describes the Video Track number of the representing Video Track. VideoTrack number shall be integer from 1 to 9.

(b) selectable attribute

Describes whether the Track can be selectable by User Operation, or not.If the value is “true”, the Track shall be selectable by User Operation,otherwise it shall not. The value may be omitted. The default value is“true”.

(c) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

The video track element VDTRK shown in (d) of FIG. 62B and (e) of FIG.62C will now be described. The video track element VDTRK represents anattribute information list of a main video track MVTRK. A video tracknumber VDTKNM (track attribute information) in the video track elementVDTRK is indicative of a video track number VDTKNM which is used toidentify each video track. In this embodiment, a positive number from 1to 9 must be set as a value of the video track number VDTKNM. That is,in this embodiment, up to nine main video track MVTRK can be set, and auser can select one of these tracks. Setting up to nine user selectablemain video tracks MVTRK can greatly improves the expression of a contentprovider for a user. Additionally, a flag USIFLG (selectable attributeinformation) indicating whether a corresponding main video track MVTRKcan be selected by a user operation. When a value of the flag USIFLGindicating whether user selection is enabled is set to “true”, thismeans that a corresponding main video track MVTRK can be selected by auser operation. When a value of this flag is set to “false”, this meansthat a corresponding main video track cannot be selected by a useroperation. A description of the flag USIFLG indicating whether userselection is enabled can be eliminated in the video track element VDTRK.In this case, “true” as a default value is automatically set. Althoughthe attribute information concerning a video track is written in a textformat familiar to people, a description of the additional informationcan be eliminated in the video track element VDTRK.

<AudioTrack (Audio Track) Element>

AudioTrack element describes the attribute list of Audio Track.

XML Syntax Representation of AudioTrack element: <AudioTrack track =positiveInteger selectable =(true | false) langcode = langCodedescription = string />

(a) track attribute

Describes the Audio Track number of the representing Audio Track. AudioTrack number shall be integer from 1 to 8.

(b) selectable attribute

Describes whether the Track can be selectable by User Operation, or not.If the value is “true”, the Track shall be selectable by User Operation,otherwise it shall not. The value may be omitted. The default value is“true”.

(c) langcode attribute

Describes the specific code and the specific code extension for thisAudio Track number. The attribute value shall be langcode data typedefined in Datatypes.

(d) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

An audio track element ADTRK shown in (d) of FIG. 62B and (e) of FIG.62C will now be described. The audio track element ADTRK represents anattribute list of a main audio track MATRK and a sub audio track SATRK.As an audio track number ADTKNM (track attribute information) in theaudio track element ADTRK, an audio track number ADTKNM which isutilized to identify each audio track is set. A flag USIFLG (selectableattribute information) indicating whether user selection is possibleindicates whether a main audio track MATRK or a sub audio track SATRKcan be selected by a user operation. If a value of the flag USIFLGindicating whether the user selection is possible is “true”, this meansthat a corresponding audio track can be selected by a user operation. Ifthis value is “false”, a corresponding audio track cannot be selected bya user operation. A description of the flag USIFLG indicating whetherthe user selection is possible can be eliminated in the audio trackelement ADTRK. In this case, “true” which is a default value isautomatically set. In this embodiment, as a value of the audio tracknumber ADTKNM, a positive number value from 1 to 8 must be used. Settingup to eight audio tracks to be selectable in this manner can greatlyimprove the expression of a content provider for a user. Further, as anaudio language code and an audio language code extension descriptorADLCEX (langcode attribute information), a specific code and a specificcode extension descriptor for a corresponding audio track number ADTKNMare written. Here, as shown in (e) of FIG. 62C, “ja” is used as a valuerepresenting Japanese, and “en” is used as a value representing English.Furthermore, assuming that contents of an audio track differ even in thesame Japanese or the same English, a colon can be arranged after alanguage code number and a numerical character can be set after thecolon (e.g., “ja:01”) as a value of the audio language code and theaudio language code extension descriptor ADLCEX (langcode attributeinformation). Moreover, additional information concerning an audio trackis written in a text format familiar to people, but a description of theadditional information can be eliminated in the audio track elementADTRK.

<SubtitleTrack (Subtitle Track) Element>

SubtitleTrack element describes the attribute list of Subtitle Track.

XML Syntax Representation of SubtitleTrack element: <SubtitleTrack track= positiveInteger selectable = (true | false) forced = (true | false)langcode = langCode description = string />

(a) track attribute

Describes the Subtitle Track number of the representing Subtitle Track.Subtitle Track number shall be integer from 1 to 32.

(b) selectable attribute

Describes whether the Track can be selectable by User Operation, or not.If the value is “true”, the Track shall be selectable by User Operation,otherwise it shall not. The value may be omitted. The default value is“true”.

(c) langcode attribute

Describes the specific code and the specific code extension for thisAudio Track number. The attribute value shall be langcode data typedefined in Datatypes.

(d) forced attribute

Describes whether the Subtitle Track can be forcedly displayed, or not.If the value is “true”, the Subtitle shall be forcedly displayed,otherwise it shall not. The value may be omitted. The default value is“false”.

(e) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

A subtitle track element SBTREL will now be described. The subtitletrack element SBTREL represents an attribute list of a subtitle trackSBTTRK. A subtitle track number STTKNM (track attribute information) isutilized to identify each subtitle track, and a positive number from 1to 32 must be written as a value of the subtitle track number STTKNM. Inthis embodiment, setting 32 subtitle tracks SBTTRK can greatly improvethe expression for a user. Additionally, a flag USIFLG (selectableattribute information) indicating whether user selection is possibleindicates whether a subtitle track SBTTRK can be selected by a useroperation. When the value is “true”, this means that a subtitle trackSBTTRK can be selected by a user operation. If the value if “false”,this means that selection by a user operation is impossible. Adescription of the flag USIFLG indicating whether user selection ispossible can be eliminated in the subtitle track element SBTREL.However, in this case, “true” as a default value is automatically set. Asubtitle language code and a subtitle language code extension descriptorSTLCEX represent a specific code and a specific code extensiondescriptor concerning a corresponding subtitle track SBTTRK. Further, aflag FRCFLG (forced attribute information) concerning forced screenoutput indicates whether a corresponding subtitle track SBTTRK isforcibly output to a screen. If the value is “true”, a correspondingsubtitle track SBTTRK must be forcibly output to screen. If the value is“false”, a corresponding subtitle track does not have to be necessarilyforcibly output to the screen. A description of the value (the flagFRCFLG indicating forced screen output) can be eliminated in acorresponding subtitle track element SBTREL. In this case, “false” as adefault value is automatically set. Furthermore, although additionalinformation concerning a subtitle track SBTTRK is written in a textformat familiar to people, a description of the additional informationcan be eliminated in the subtitle track element SBTREL.

A specific example of the track navigation list shown in (e) of FIG. 62Cwill now be described. In (e) of FIG. 62C, three video track exists. Ofthese tracks, a user can select main video tracks having track numbers“1” and “2”, and cannot select a main video track MVTRK having a tracknumber “3”. Moreover, four audio tracks are set. In the embodiment shownin (e) of FIG. 62C, track numbers of the main audio tracks MATRK and thesub audio tracks SATRK are set in such a manner that their respectiveaudio track numbers ADTKNM do not overlap each other, and differentaudio track numbers ADTKNM are set for the main audio track MATRK andthe sub audio track SATRK. As a result, the main audio track MATRK andthe sub audio track SATRK can be selectively specified as audio tracksto be played back. An audio track having an audio track number ADTKNM“1” is displayed in English (en), and audio tracks having audio tracknumbers ADTKNM “2” and “3” are displayed in Japanese (ja). Althoughaudio tracks having audio track numbers ADTKNM “1” to “3” can beselected by a user, but an audio track having an audio track numberADTKNM “4” cannot be selected by the user. Although the audio trackshaving the audio track numbers ADTKNM “2” and “3” are likewise displayedin Japanese, they have different audio contents, and values of the audiolanguage code and the audio language code extension descriptor ADLCEXare identified as “ja:01” and “ja:02”. Additionally, four subtitletracks SBTTRK are set with subtitle track numbers STTKNM “1” to “4”. Asubtitle track SBTTRK having a subtitle track number STTKNM “1” isdisplayed in English (en) and can be selected by a user, but the flagFRCFLG indicative of forced screen output is set to “true” for thesubtitle track SBTTRK. Therefore, the subtitle track SBTTRK having thesubtitle track number STTKNM “1” displayed in English must be forciblyoutput to a screen. Further, a subtitle track SBTTRK having a subtitletrack number STTKNM “2” is displayed in Japanese (ja), and a subtitletrack SBTTRK having a subtitle track number STTKNM “3” is displayed inChinese (ch). Both subtitle tracks SBTTRK having subtitle track numbersSTTKNM “2” and “3” can be selected by a user. On the other hand, asubtitle track SBTTRK having a subtitle track number STTKNM “4” cannotbe selected by a user.

According to the above-described setting (writing) method of the audiotrack element ADTRK, the audio track number ADTKNM set in the audiotrack element ADTRK corresponding to the main audio track MATRK and theaudio track number ADTKNM set in the audio track element ADTRKcorresponding to the sub audio track SATRK must be set in such a mannerthat the same numbers do not overlap each other. As a result, differentaudio track numbers ADTKNM are set in the audio track element ADTRKcorresponding to the main audio track MATRK and the audio track elementADTRK corresponding to the sub audio track SATRK. As a result, when auser selects a specific audio track number ADTKNM by using the tracknavigation information TRNAVI, either the main audio track MATRK or thesub audio track SATRK can be selected as audio information which isdisplayed/output for the user. In the embodiment, as shown in (e) ofFIG. 62B, both the audio track element ADTRK corresponding to the mainaudio track MATRK and the audio track element ADTRK corresponding to thesub audio track SATRK are arranged (written) in the track navigationlist element (the track navigation information TRNAVI). This embodimentis not restricted to the above example, and can adopt the followingdifferent application example. That is, as another application example,there is a method which sets the audio track element ADTRK correspondingto the main audio track MATRK alone but does not set the audio trackelement ADTRK corresponding to the sub audio track SATRK. In this case,the main audio track MATRK alone is written in a track sectioncorresponding to the audio track element ADTRK shown in (d) of FIG. 62B,and the sub audio track SATRK is removed. In this application example,the audio track element ADTRK corresponding to the main audio trackMATRK alone is arranged (written) in the track navigation list element(the track navigation information TRNAVI), and a user selects the mainaudio track MATRK alone as audio information to be displayed/output. Inthis application example, the sub audio track SATRK is automaticallyselected in accordance with the main audio track MATRK. For example,when a user utilizes the track navigation information TRNAVI to select amain audio track MATRK having a “track number 3”, a sub audio trackSATRK having a “track number 3” is automatically selected as the subaudio track SATRK to be displayed/output for a user.

A data configuration of a network source element NTSELE in objectmapping information OBMAPI included in a playlist PLLST is shown in (c)of FIG. 63B. Further, likewise, a data configuration of an applicationresource element APRELE in the object mapping information OBMAPI isshown in (d) of FIG. 63C. When a resource which is temporarily stored inthe data cache DTCCH by the advanced content playback unit ADVPL inadvance exists in the network server NTSRV, the network source elementNTSELE can be written in the object mapping information OBMAPI. As shownin FIG. 18, as an object name with which an original recording positioncan be a playback/display target which can exist in the network serverNTSRV, there are substitute audio video SBTAV, secondary audio videoSCDAV, substitute audio SBTAD, an advanced subtitle ADSBT and anadvanced application ADAPL. Therefore, as a clip element correspondingto an object which can set the network server NTSRV as an originalrecording position, there are a substitute audio video clip SBAVCP, asecondary audio video clip SCAVCP, a substitute audio clip SBADCP, anadvanced subtitle segment ADSTSG and an application segment APPLSG. Inaccordance with this configuration, as shown in FIGS. 63A to 63C, thenetwork source element NTSELE can be written in the substitute audiovideo clip element SBAVCP, the substitute audio clip element SBADCP andthe secondary audio video clip element SCAVCP. In (b) of FIG. 63A,although one network source element NTSELE is written in accordance witheach clip element, the plurality of network source elements NTSELE canbe actually written in the same clip element. As shown in FIG. 67,writing one or more network source elements in the same clip element canset a resource perfect for a network environment of the informationrecording and playback apparatus 1.

<NetworkSource (Network Source) Element>

NetworkSource element describes a candidate of network content, orresources for the specified network throughput setting.

XML Syntax Representation of Video element: <NetworkSource src = anyURInetworkThroughput = nonNegativeInteger />

NetworkSource element can be presented in SecondaryAudioVideoClipelement, or in SubstituteAudioClip element, if and only if thedataSource attribute value is ‘Network’.

NetworkSource element can be presented in ApplicationResource element,or in TitleResource element, if and only if the URI scheme of srcattribute value of parent element is ‘http’, or ‘https’.

(a) src attribute

Describes the URI for network source for the network throughputdescribed by networkThroughput attribute. If the parent element isSecondaryAudioVideoClip element, or SubstituteAudioClip element, the srcattribute value shall be the URI of the TMAP file of the PresentationObject to be referred. If the parent element is ApplicationResourceelement, or TitleResource element, the src attribute value shall be theURI of an Archiving file, or a file to be loaded in File Cache. The URIscheme of the src attribute value shall be ‘http’, or ‘https’.

(b) networkThroughput attribute

Describes the minimum network throughput value to use this networkcontent, or resource. The attribute value shall be nonnegative integerwith unit of 1000 bps.

More intelligible explanations will be provided below.

The network source element NTSELE shown in (c) of FIG. 63B is indicativeof potential network contents which are temporarily stored in the datacache DTCCH. Furthermore, information concerning network throughputconditions which guarantee a resource corresponding to the potentialnetwork contents at the time of download into the file cache FLCCH isalso written in the network source element NTSELE. Moreover, when avalue written in SRC attribute information in an application resourceelement APRELE or a title resource element starts from “http” or“https”, the network source element NTSELE can be written in theapplication resource element APRELE or the title source element.Allowable minimum value information NTTRPR of a network throughput shownin (c) of FIG. 63B is indicative of a minimum value which is allowed asa network system in relation to a network throughput (a data transferrate) when downloading a network source (data or a file) from a storageposition specified by corresponding SRC attribute information SRCNTS.Additionally, a value of the allowable minimum value information NTTRPTof the network throughput is written in units of 1000 bps. As a valuerecorded in the allowable minimum value information NTTRPT of thenetwork throughput, “0” or a value of a natural number must be recorded.A value of a storage position SRCNTS of a network source correspondingto the allowable minimum value of the network throughput is written insrc attribute information in the network source element NTSELE shown in(c) of FIG. 63B, and it is written based on a URI (uniform resourceinformation) display format. When this network source element NTSELE isset in the secondary audio video clip element SCAVCP, the substituteaudio video clip element SBAVCP or the substitute audio clip elementSBADCP, a storage position of a time map file STMAP of secondaryenhanced video object data S-EVOB is specified. Furthermore, when thenetwork source element NTSELE is set in the application resource elementAPRELE or the title resource element, src attribute informationindicates a storage position of a file which is loaded to the file cacheFLCCH. As concrete file contents which are loaded into the file cacheFLCCH, there are a manifest file MNFST, a markup file MRKUP, a scriptfile SCRPT, a still image file IMAGE, an effect audio file EFTAD and afont file FONT included in an advanced application directory ADAPL shownin FIG. 11, a manifest file MNFSTS of an advanced subtitle, a markupfile MRKUPS of an advanced subtitle and a font file FONTS of an advancedsubtitle existing in an advanced subtitle directory, and others. Asshown in FIG. 10 or 25, even though the advanced application ADAPL andthe advanced subtitle ADSBT are stored in the information storage mediumDISC, the persistent storage PRSTR or the network server NTSRV, theymust be temporarily stored in the file cache FLCCH in advance and playedback/displayed from the file cache FLCCH. In this manner, information ofa storage position (a path), a file name and a data size of a resourcewhich is referred (used) from the advanced subtitle ADSBT is written inthe application resource element APRELE shown in (d) of FIG. 63C.Additionally, the application resource element APRELE can be written inan advanced subtitle element ADSTSG or an application segment elementAPPLSG. Further, in this embodiment, it must be written as anapplication resource element APRELE which differs in accordance witheach resource which is referred (used) for each piece of contents. Forexample, as shown in FIG. 12 or 11, when there are the manifest MNFSTSof the advanced subtitle, the markup MRKUPS of the advanced subtitle andthe font FONTS of the advanced subtitle exist as contents constitutingthe advanced subtitle ADSBT, one application resource element APRELEcorresponding to the manifest MNFSTS of the advanced subtitle, anapplication resource element APRELE corresponding to the markup MRKUPSof the advanced subtitle and an application resource element APRELEcorresponding to the font FONTS of the advanced subtitle are written inthe advanced subtitle segment element ADSTSG in (b) of FIG. 63A. In (b)of FIG. 63A, one application resource element APRELE alone is written inthe advanced subtitle segment element ADSTSG and one applicationresource element APRELE is written in the application segment elementAPPLSG. However, in reality, the application resource element APRELEalone is written in accordance with each piece of contents constitutingthe advanced subtitle ADSBT, and the plurality of application resourceelements APRELE are written in accordance with each resource which isreferred (used) from the advanced application ADAPL. Moreover, as shownin (d) of FIG. 63C, when a resource which is managed by the applicationresource element APRELE is stored in the network server NTSRV, thenetwork source element NTSELE can be written in the application resourceelement APRELE. As shown in the example of FIG. 67, when a plurality ofresources indicative of the same contents (files representing the samecontents) (which are different from each other in data size) are storedin the network server NTSRV, one or more network source elements NTSELEcan be written in the same application resource element APRELE, and anoptimum resource corresponding to a network environment of theinformation recording and playback apparatus 1 can be selected anddownloaded.

<ApplicationResource (Application Resource) Element>

ApplicationResource element describes Application Associated ResourceInformation, such as a package archive file used in the AdvancedApplication, or in the Advanced Subtitle.

XML Syntax Representation of ApplicationResource element:<ApplicationResource src = anyURI size = positiveInteger priority =nonNegativeInteger multiplexed = (true | false) loadingBegin =timeExpression noCache = (true | false) description = string >  NetworkSource * </ApplicationResource>

ApplicationResource element determines which Archiving Data, or a fileshall be loaded in File Cache. The src attribute refers to ArchivingData, or a file.

Player shall load the resource file into File Cache before theApplication Life Cycle Start.

The valid period of the resource is implied from the valid period of theparent ApplicationSegment element.

The start time and finish time of valid period of the resource on TitleTimeline is the start time and finish time of the valid period of theparent ApplicationSegment element, respectively.

Resources may be multiplexed in Primary Video Set. In this case, theloadingBegin attribute describes the start time of loading period inwhich, ADV_PCK of P-EVOB contains the Resource.

Resources may come from Persistent Storage indicating by URI [FIG. 20].In this case the loadingBegin attribute describes the start time ofloading period to download the Resource from Persistent Storage.

Resources may come from network server, i.e, the URI scheme of srcattribute is ‘http’, or ‘https’. In this case the loadingBegin attributedescribes the start time of loading period to download the Resource.

NetworkSource element can be presented in ApplicationResource element,if and only if the URI scheme of src attribute value of parent elementis ‘http’, or ‘https’. NetworkSource element describes the Resources tobe selected according to network throughput setting.

(a) src attribute

Describes the URI for the Archiving Data, or a file to be load into DataCache.

(b) size attribute

Describes the size of the Archiving Data, or a file in bytes. Thisattribute can be omitted.

(c) priority attribute

Describes the priority of removal of resources which is not referred byactive Application, or Title. Priority shall be integer from 1 to 2³¹−1.

(d) multiplexed attribute

If value is ‘true’, the Archiving Data can be loaded from ADV_PCK ofP-EVOB in the loading period of Title Timeline. If the value is ‘false’,Player shall preload the resource from the specified URI. This attributecan be omitted. Default value is ‘true’.

(e) loadingBegin attribute

Describes the start time of loading period on Title Timeline. If noloadingBegin attribute is present, the start time of loading periodshall be the start time of valid period of the associated AdvancedApplication.

(f) noCache attribute

If noCache attribute value is ‘true’ and URI scheme of src attributevalue of parent element is ‘http’, or ‘https’, the ‘no-cache’ directiveshall be included in both Cache-Control and Pragma in HTTP request forthe resource file. If noCache attribute value is ‘false’ and URI schemeof src attribute value of parent element is ‘http’, or ‘https’,‘no-cache’ directive shall be included in neither Cache-Control, norPragma header. If URI scheme of src attribute value of parent element is‘http’, or ‘https’, the noCache attribute shall be absent. The noCacheattribute can be omitted. Default value is ‘false’.

(g) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

For example, resource information RESRCI concerning a resource which isreferred (used) by an application such as an advanced subtitle ADSBT oran advanced application ADAPL is written in an application resourceelement APRELE shown in (d) of FIG. 63C. Further, the applicationresource element APRELE is indicative of a storage position (a path) anda file name (a data name) of a resource which should be stored (loaded)in the file cache FLCCH. The storage position (the path) and the filename (the data name) of the resource are written in src attributeinformation. The advanced content playback unit ADVPL must store aresource file specified by the application resource element APRELE inthe file cache FLCCH before execution of an application such as anadvanced subtitle ADSBT or an advanced application ADAPL is started.Furthermore, a valid period of the application resource element APRELEmust be included in a valid period (a period from titleTimeBegin/TTSTTMto titleTimeEnd/TTEDTM shown in (d) of FIG. 56B) of the applicationsegment element APPLSG. A start time in the valid period on a titletimeline TMLE of a resource defined by the application resource elementAPRELE matches with a start time TTSTTM (titleTimeBegin) on the titletimeline indicative of a start timing of the valid period of acorresponding application segment element APPLSG, and an end time in thevalid period on the title timeline of the resource matches with an endtime TTEDTM (titleTimeEnd) on the title timeline indicative of an endtiming of the valid period written in a corresponding applicationsegment element APPLSG. A state in which an advanced pack ADV_PCK ismultiplexed in primary enhanced video object data P-EVOB is shown in (d)of FIG. 73A. As described above, a resource indicated by the applicationresource element APRELE shown in (d) of FIG. 63C may be multiplexed andrecorded in a primary video set PRMVS. A time PRLOAD (loadingBegin) on atitle timeline at which fetching (loading) a target resource beginsrepresents a start time of a loading period of an advanced pack ADV_PCKof the primary enhanced video object data P-EVOB including acorresponding resource. Moreover, as a storage position of the resource,a position in the persistent storage PRSTR can be specified. In thiscase, a time PRLOAD (loadingBegin) on the title timeline at whichfetching (loading) a target resource begins means a start time of aloading period in which the resource is downloaded from the persistentstorage PRSTR. The network server NTSRV may be specified as the storageposition of a resource. In this case, src attribute information iswritten in the form of a URI (a uniform resource identifier) startingfrom “http” or “https”. In this case, a time PRLOAD (loadingBegin) onthe title timeline at which fetching (loading) a target resource beginsrepresents a start time of a loading period in which the correspondingresource is downloaded. When a value of src attribute information in theapplication resource element APRELE shown in (d) of FIG. 63C is writtenin the form of a URI (a uniform resource identifier) starting from“http” or “https”, this means that a storage position SRCDTC of data ora file downloaded into the data cache DTCCH exists in the network serverNTSRV. Additionally, in such a case, a network source element NTSELE maybe written in the application resource element APRELE. As shown in FIG.67, the network source element NTSELE represents resource informationwhich should be selected in accordance with a setting of a networkthroughput. Each attribute information in an application resourceelement APRELE tag shown in (d) of FIG. 63C will now be described. Sizeinformation DTFLSZ of the data or the file to be loaded in the datacache is indicated by a value of a positive number in units of bytes,and a description of this information may be eliminated in theapplication resource element APRELE tag. Priority information PRIORT(priority attribute information) for removal of a corresponding resourcerepresents a priority when removing from the data cache thecorresponding resource which is not referred (used) from a title or anadvanced application which is currently executed. That is, applicationresource elements APRELE which is not referred (used) by the advancedapplication are sequentially removed in the order of descendingpriorities. Further, as this value, it is possible to write a value of apositive number in a range from 1 to “2³¹−1”. Removal is performed froma resource having a higher value set in the priority attributeinformation. The application resource is divided every 2048 bytes, datafor each set of 2048 bytes is packaged into the advanced pack ADV_PCK,and it is multiplexed in the primary enhanced video object data P-EVOBand recorded in the information storage medium DISC as shown in FIG. (d)of FIG. 73A in some cases. Information indicative of whether theapplication resource is recorded in the multiplexed form is calledmultiplexed attribute information MLTPLX (multiplexed attributeinformation). If the multiplexed attribute information MLTPLX is “true”,this means that stored data is loaded from the advanced pack ADV_PCK inthe primary enhanced video object P-EVOB during a loading period LOADPEon a title timeline. Furthermore, if the multiplexed attributeinformation MLTPLX (multiplexed attribute information) is “false”, thismeans that stored data must be pre-loaded from an original storageposition SRCDTC as a file. A description of the multiplexed attributeinformation MLTPLX may be removed in the application resource elementAPRELE. A time PRLOAD (loadingBegin attribute information) on a titletimeline at which fetching (loading) a target resource begins is writtenin the form of “HH:MM:SS:FF”. When the time PRLOAD on the title timelineat which fetching (loading) of the target resource begins is not writtenin the application resource element APRELE, a start time of a loadingperiod must match with a start time (a start time TTSTTM on the titletimeline shown in (d) of FIG. 56B) of a valid period of a correspondingadvanced application ADAPL. When loading of an application resourcestarts at a start time of the advanced application ADAPL in this manner,there can be obtained an effect that loading the application resourcecan be finished at an earliest time in the valid period of the advancedapplication ADAPL and that an exploiting time of the applicationresource can be put ahead at a necessary timing in the advancedapplication ADAPL. The time PRLOAD on the title timeline at whichfetching (loading) the target resource starts must be indicative of atime before a start time TTSTTM on the title timeline which is writtenin a parent element (an application segment element APPLSG or anadvanced subtitle segment element ADSTSG) of an application resourceelement APRELE in which the time PRLOAD is written. Moreover, when themultiplexed attribute information MLTPLX is “true”, since a resource isdownloaded into the file cache FLCCH by a method shown in FIG. 65A, adescription of the time PRLOAD (loadingBegin attribute information) onthe title timeline at which fetching (loading) a target resource beginsmust not be eliminated.

Additionally, when no-cache attribute information NOCACH (nocacheattribute information) is “true”, this means that a Cach-Control headerand a Pragma header are included in a GET request of HTTP. When thisinformation is “false”, this means that the Cach-Control header and thePragma header are not included in the GET request of HTTP. A descriptionof the no-cache attribute information NOCACH can be eliminated, and“false” is set as a default value in such a case. Further, descriptionattribute information representing additional information concerning anapplication element is written in a text format familiar to people, anda description of this attribute information can be eliminated.

A technical point required to display/execute various playback/displayobjects in accordance with progress of a title timeline TMLE as expectedin this embodiment will now be described. The technical point in thisembodiment can be divided into a “scheme which can guarantee start ofdisplay or execution in accordance with progress of the title timelineTMLE” and a “scheme of a countermeasure when previous loading into thedata cache DTCCH cannot be performed in time”. The technical points inthis embodiment are itemized below.

(1) The scheme which can guarantee start of display or execution inaccordance with progress of the title timeline TMLE.

i) An advanced application ADAPL, an advanced subtitle ADSBT and somesecondary video sets SCDVS are temporarily stored in the data cacheDTCCH in advance, and data temporarily stored in the data cache DTCCH isused to carry out display or execution processing for a user (see FIG.25).

ii) Information of a name of data or a file which should be temporarilystored in the data cache TCCH in advance and a storage position of suchdata or a file is written in src attribute information (source attributeinformation) in a playlist PLLST (in various clip elements, a networksource element NTSELE, an application resource element APRELE, a titleresource element, or a playlist application resource element PLRELE)(see FIG. 83).

-   -   The data or file which should be temporarily stored in the data        cache in advance and an access destination of the data or file        can be recognized.

iii) A timing at which previous loading into the data cache DTCCH isstarted is specified by a “time PRLOAD (a loadingBegin attribute or apreload attribute) on a title timeline at which fetching (loading) atarget resource is started” in the playlist PLLST (in clip elements, anapplication resource element APRELE, or a title resource element) (seeFIGS. 65A to 65D, FIGS. 54A and 54B, FIGS. 55A and 55B, FIGS. 63A to 63Cand FIGS. 66A to 66C).

iv) Information which allows selection of data or a file perfect forloading in accordance with a network environment of the informationrecording and playback apparatus 1 is written in the playlist PLLST (anetwork source element NTSELE) (see FIGS. 67 and 68).

(2) A Scheme of a Countermeasure When Previous Loading into the dataCache DTCCH Cannot be Performed in Time

v) A countermeasure according to a playback/display object is specifiedin “synchronization attribute information SYNAT (sync attributeinformation) of the playback/display object” in the playlist PLLS (in aclip element or in a segment element) (see FIGS. 54A and 54B, FIGS. 55Aand 55B, and FIGS. 56A and 56B).

-   -   In case of sync=“hard” (a hard synchronization attribute),        progress of the title timeline TMLE is stopped to temporarily        bring a moving image to a still state until loading is        completed.    -   In case of sync=“soft” (a soft synchronization attribute),        progress of the title timeline TMLE is continued, and playback        is started after completion of loading (behind a display start        time TTSTTM/titleTimeBegin specified on the title timeline        TMLE).

When the above-described technical points are executed, there are fivestates shown in FIGS. 64A and 64B as resource holding times in the filecache FLCCH.

<Resource State Machine>

FIG. 64A shows state machine of Resource in the File Cache. There arefive states in the state machine, non-exist, loading, ready, used andavailable. This state machine is applied to all files in the File Cache.

(A) While the Resource does not exist in the File Cache, the Resource isin non-exist state. Before the title playback is started, all Resources(except Resources for Playlist Application) are in non-exist state. Whenthe File Cache Manager discards the Resource, state machine moves tonon-exist state.

(B) When the Resource loading starts, state machine moves to loadingstate. The File Cache Manager shall guarantee there are enough memoryblocks to store the Resource in the File Cache prior to start Resourceloading. When there is loadingBegin attribute in Resource Information,loading state starts from loadingBegin. When there is no loadingBeginattributes, loading state starts from titleTimeBegin. Resource loadingfor application will not be started if autorun attribute is false, or ifapplication is not selected. If autorun attribute chances to falseduring the loading, then Resource loading will be cancelled and thealready loaded resource is discarded.

(C) After the Resource loading is completed, if the application isinactive (before Title Timeline becomes valid period) the state machinemoves to ready state.

(D) After the Resource loading is completed, if the application isactive (that is the application will run) the state machine moves toused state. While the Resource is used by one or more activeapplications, the Resource is in used state.

(E) After the Resource loading is completed, if the Resource is resourcefor Playlist Application, then the state machine moves to used state.While the Playlist Application is available, the Resource is in usedstate.

(F) When an application becomes inactive (that is it is deactivated byAPI) but Title Timeline does not reach titleTimeEnd, state machine movesto ready state.

(G) When application becomes active, if the Resource currently in readystate the resource will move to used state.

(H) If there is no valid application referencing a resource, then theResource will move to available state.

(I) If an application becomes active and the resource is currently inavailable state that resource will move to used state.

(J) If an Application becomes valid and the resource is currently inavailable state that resource will move to ready state.

More intelligible explanations will be provided below.

As the five states, there are a loading period LOADPE, a used periodUSEDTM, a ready period READY, a non-exist period N-EXST to remove datafrom the file cache, and an available period AVLBLE to store advancedapplication data in the file cache. Transition between the respectivestates occurs in accordance with time progress on the title timelineTMLE. A description will now be given as to transition between thestates in FIGS. 64A and 64B.

(A) When a resource is not stored in the file cache FLCCH, thecorresponding resource enters the state of the non-exist period N-EXSTto remove data from the file cache. All resources other than a playlistapplication resource PLAPRS are in the state of the non-exist periodN-EXST to remove data from the file cache before starting playback of atitle. Moreover, even if a resource has been already stored in the filecache FLCCH, the resource enters the non-exist period N-EXST to removedata from the file cache after the file cache manager FLCMNG in thenavigation manager NVMNG shown in FIG. 28 executes the resource removalprocessing.

(B) When loading a resource is started, the data holding state in thefile cache FLCCH shifts to the state of the loading period LOADPE. Asshown in FIG. 28, the file cache manager FLCMNG in the navigationmanager NVMNG manages data stored in the file cache FLCCH. Prior tostarting loading the resource, a memory block having an enough free areawith respect to the resource which should be stored in the file cacheFLCCH must be prepared, and the file manager FLCMN guarantees a settingof a free area of the memory block corresponding to the resource to bestored. In this embodiment, as shown in (c) of FIG. 66A and (d) of FIG.66B, contents of resource information RESRCI in the playlist file PLLSTmean a list of title resource elements. The present invention is notrestricted thereto, and a concept of the resource information RESRCI canbe expanded as another application example in this embodiment. Asinformation included in the resource information RESRCI, three types ofresource elements, i.e., not only a title resource element shown in (d)of FIG. 66B but also an application resource element APRELE and aplaylist application resource element PLRELE shown in FIGS. 70 and 71can be integrated, and the integrated element can be called resourceinformation RESRCI. In the resource information RESRC according to theapplication example, when a time PRLOAD (LoadingBegin attributeinformation) on a title timeline at which fetching (loading) a targetobject begins exists in the title resource element shown in (d) of FIG.66B and the application resource element APRELE shown in (d) of FIG.63C, the loading period LOADPE starts from the time PRLOAD (LoadingBeginattribute information) on the title timeline at which fetching (loading)the target object begins. When a description of the time PRLOAD(LoadingBegin attribute information) on the title timeline at whichfetching (loading) of the target resource begins is eliminated in thetitle resource element or the application resource element APRELE, theloading period LOADPE starts from a start time TTSTTM (titleTimeBeginattribute information) on the title timeline of a corresponding resource(see FIG. 65B). As shown in (d) of FIG. 56B, autorun attributeinformation ATRNAT exists in an application segment element APPLSG. Whena value of the autorun attribute information ATRNAT is “false”, acorresponding application is not automatically executed, but it entersan active (an execution) state only after an API command is issued. Whena value of the autorun attribute information is “false” in this manner,loading a resource which is referred (used) by a corresponding advancedapplication ADAPL is not started. As shown in (b) of FIG. 56A,information concerning a resource which is referred (used) from anadvanced application ADAPL is written as a list of application resourceelements APRELE, and the list of the application resource elementsAPRELE is arranged in an application segment element APPLSG. Therefore,when a value of the autorun attribute information ATRNAT is “false”,loading a resource managed by a corresponding application resourceelement APRELE is not started. When a value of the autorun attributeinformation ATRNAT is changed to “false” during loading a resourcereferred (used) by a specified advanced application ADAPL, loading ofthe currently loaded resource is canceled, and the resource which hasbeen already loaded in the file cache FLCCH is removed. Additionally, asdescribed above in conjunction with FIG. 57, an advanced applicationADAPL which enters an execution (an active) state in accordance withlanguage information to be used is selected. Further, as shown in FIG.58, a combination of setting values of application activationinformation in the application segment element APPLSG is used to judgewhether an advance application ADAPL is valid in accordance with ajudgment shown in FIG. 58. When the advanced application ADAPL isregarded as invalid based on a procedure shown in FIG. 57 or FIG. 58,loading of a resource specified in a corresponding application segmentelement APPLSG is not started. Loading into the file cache FLCCH only aresource referred (used) by an advanced application ADAPL which is to beassuredly used can avoid loading of an unnecessary resource into thefile cache FLCCH, thereby effectively exploiting the resource in thefile cache FLCCH.

(C) When loading of a specified resource into the file cache FLCCH iscompleted, the data storing state in the file cache shifts to the stateof the ready period READY. The ready period READY means a state (a statebefore the used period USEDTM) before an application which makesreference to (uses) a resource reaches a valid period VALPRD/APVAPE on atitle timeline.

(D) When loading of a resource is completed and an application entersthe execution/use state, the data storing state in the file cache FLCCHshifts to the state of the used period USEDTM. When the resource is usedby one or more currently executed (active) applications, the resource isin the execution/use state.

(E) When loading of a resource which is referred (used) by a playlistassociated advanced application PLAPL is completed, the resource entersthe used period USEDTM during playback of an arbitrary title other thana first play title FRPLTT. That is because use of the resource in anarbitrary title (by an advanced application ADAPL or a title associatedadvanced application TTAPL) is presupposed when the playlist associatedadvanced application PLAPL exists.

(F) When execution of a currently used application is stopped due to,e.g., an API command, the application enters a non-execution state. If aposition (a time) on a title timeline TMLE has not yet reached an endtime TTEDTM (titleTimeEnd attribute information) (see FIGS. 56A and 56B)on the title timeline specified in an application segment element APPLSGor an advanced subtitle segment element ADSTSG, the data storing statein the file cache FLCCH shifts to the state of the ready period READY.

(G) When a resource in the file cache FLCCH is currently in the readyperiod READY and an application which makes reference to (uses) thisresource enters the execution/use state, the resource shifts to the usedperiod USEDTM.

(H) (A plurality of) applications which make reference to a resource inthe file cache are all invalid, the resource enters the state of theavailable period AVLBLE to store advanced application data in the filecache.

(I) When a resource is in the state of the available period AVLBLE tostore advanced application data in the file cache, the resource entersthe used period USEDTM upon shifting of an application which makesreference to (uses) the resource to the execution/use state.

(J) When a resource is in the state of the available period AVLBLE tostore advanced application data in the file cache, the resource entersthe ready period READY upon shifting of an application which makesreference to (uses) the resource to a valid state.

FIGS. 64A and 64B illustrate transition of resource storing states(times) in the file cache FLCCH. FIGS. 65A to 65D show a relationshipbetween each data storing state in the file cache FLCCH, an advancedapplication execution period APACPE and a valid period APVAPE and aloading/execution processing method of an advanced application ADAPLbased on resource information RESRCI in accordance with FIGS. 64A and64B. In each of FIGS. 65A, 65B and 65C, as a common transition order,the data storing state starts from the non-exist period N-EXST to removedata from the file cache, then shifts to the loading period LOADPE, theused period USEDTM, the available period AVLBLE to store advancedapplication data in the file cache, and the non-exist period N-EXST toremove data from the file cache, in the mentioned order. Further, theready period READY is inserted in the transition order.

<Image of State Machine of Resource Information including LoadingBegin>

FIG. 65A shows an example of the relationship between ResourceInformation and state machine. The Resource has loadingBegin attributeand Advanced Application always active in its valid period. In thisdiagram, after finishing the loading the Resource, state machine becomesready state. And then it enters active period of Advanced Application,state machine becomes used state. After reached to titleTimeEnd, statemachine moves available state until the Resource is discarded by theFile Cache Manager and moves non-exist state.

More intelligible explanations will be provided below.

Information of a time PRLOAD (LoadingBegin attribute information) on atime timeline at which fetching (loading) of a target resource beginsexists in an application resource element APRELE shown in (d) of FIG.63C or a title resource element as resource information RESRCI shown in(d) of FIG. 66B. As shown in (c) of FIG. 66A, the resource informationRESRCI means a list of title resource elements in a restricted sense.However, this embodiment is not restricted thereto, and the titleresource element, the application resource element APRELE shown in (d)of FIG. 63C and a playlist application resource element PLRELE shown in(d) of FIG. 69B are generically referred to as resource information in abroad sense. FIG. 65A shows “transition of resource data storing statesin the file cache” and a “relationship between the advanced applicationvalid period APVAPE and an advanced application execution period APACPE”when a “time PRLOAD (LoadingBegin attribute information) on a titletimeline at which fetching (loading) of a target resource begins” iswritten in the resource information RESRCI (the title resource elementand the application resource element APRELE). In general, the “timePRLOAD (LoadingBegin attribute information) on the title timeline atwhich fetching (loading) of a target resource begins” is set as a timeon the title timeline TMLE which is ahead of a “start time TTSTTM(titleTimeBegion attribute information) on the title timeline of acorresponding resource”. As a result, loading of a resource can becompleted before the time set by the “start time TTSTTM (titleTimeBeginattribute information) on the title timeline of a correspondingresource”, and playback/display/execution of, e.g., a title associatedadvanced application PLAPL can be started from a scheduled “start timeTTSTTM (titleTimeBegin attribute information) on the title timeline of acorresponding resource”.

In this case, since the loading period LOADPE in FIG. 65A is set at aposition which is ahead of the valid period APVAPE of an advancedapplication, the valid period APVAPE of the advanced application matcheswith an execution period APACPE of the advanced application. In thevalid period APVAPE of the advanced application, a resource in the filecache FLCCH shifts to the used period USEDTM. In the embodiment shown inFIG. 65A, autorun attribute information ATRNAT is set to “true” in anapplication segment element APPLSG including the application resourceelement APRELE shown in (d) of FIG. 63C (see (d) of FIG. 56B).Therefore, when a time on the title timeline TMLE has passed the “starttime TTSTTM on the title timeline”, a corresponding advanced applicationADAPL is automatically started up to enter a valid state. In theembodiment shown in FIG. 65A, a resource file APMUFL stored in the filecache is divided in the form of advanced packs ADV_PCK, and the dividedfiles are multiplexed and stored in primary enhanced video object dataP-EVOB. In this case, a value of multiplexed attribute informationMLTPLX (multiplexed attribute information) in the application resourceelement APRELE show in (d) of FIG. 63C is set to “true”. In theembodiment shown in FIG. 65 a, a region in which the advanced packsADV_PCK are multiplexed (see (e) of FIG. 73A) in the information storagemedium DISC is played back during the loading period LOADPE andtransferred to the file cache FLCCH. In case of the embodiment shown inFIG. 65A, after completion of the loading processing of a correspondingresource, the ready period READY exists before reaching the used periodUSEDTM. This embodiment is not restricted to the above-describedcontents, and a resource file which is stored in, e.g., the networkserver NTSRV without being multiplexed may be loaded. In this case,loading starts from the “time PRLOAD on the title timeline at whichfetching (loading) of a target resource” begins, and loading into thefile cache FLCCH is completed during the loading period LOADPE.

When the advanced application execution period APACPE starts on thetitle timeline TMLE, a resource in the file cache FLCCH shifts to theused period USEDTM. Then, when a time on the title timeline TMLE reachesan end time TTEDTM on the title timeline, the current state shifts tothe state of the available period AVLBLE to store advanced applicationdata in the file cache. Subsequently, when removal processing isperformed by the file cache manager FLCMNG (see FIG. 28), the stateshifts to the state of the non-exist period N-EXST to remove data fromthe file cache.

<Image of State Machine of Resource Without LoadingBegin>

FIG. 65B shows another example of the relationship between ResourceInformation and state machine. The Resource does not have loadingBeginattribute and Advanced Application may become active during its validperiod. In this diagram, Title Timeline enters titleTimeBegin ofAdvanced Application, the File Cache Manager starts to load the Resourcefrom its original data source. After finishing the loading, statemachine becomes used state directly. And then Advanced Applicationbecomes not active, state machine becomes ready state. After reached totitleTimeEnd, state machine moves available state until the Resource isdiscarded by the File Cache Manager.

When there are plural applications which are associated with the sameResource, the state of state machine is defined by combination of eachstate of among plural application.

(I) At least one application is in active state, the Resource shall bein used state.

(II) At least the Resource is treated as ready state by one application,but there is no active application, the Resource shall be in readystate.

(III) There is the Resource in File Cache, but there is no valid oractive application, the Resource shall be available state.

More intelligible explanations will be provided below.

FIG. 65B shows a relationship between resource information RESRCI andeach data storing state in the file cache when a description of a “timePRLOAD (LoadingBegin attribute information) on a title timeline at whichfetching (loading) of a target object beings” does not exist in a titleresource element or an application resource element APRELE. In thiscase, when a time on the title timeline TMLE has reached a start timeTTSTTM (titleTimeBegin) on the title timeline of an advanced applicationADAPL, loading of a resource starts. As a result, a loading periodLOADPE partially overlaps a valid period APVAPE of an advancedapplication. In the embodiment shown in FIG. 65B, theexecution/use/processing of the corresponding advanced application ADAPLstarts (the execution period APACPE of the advanced application begins)only after completion of the loading period LOADPE (after completion ofloading). Therefore, the execution period APACPE beings during the validperiod APPVAPE of the advanced application. Therefore, the used periodof a resource in the file cache FLCCH matches with the execution periodADACPE of the advanced application. Although the ready period READYexists between the loading period LOADPE and the used period USEDTM inthe example shown in FIG. 65A, the loading period LOADPE directly shiftsto the used period USEDTM in the example shown in FIG. 65B. Then, uponcompletion of the execution period APACPE of the advanced application,the resource in the file cache shifts to the state of the ready periodREADY. When the end time TTEDTM (titleTimeEnd) on the title timeline haspassed, the state shifts to the available period AVLBLE to storeadvanced application data in the file cache. When the file cache managerFLCMNG performs processing of data removal FLCREM from the file cache inwhich the resource is stored, the current state shifts to the state ofthe non-exist period N-EXST to remove data from the file cache.

In a case where a plurality of applications make reference to (use) thesame resource, the data storing state in the file cache is defined asfollows, and it depends on a combination of respective states of theplurality of applications.

(I) When at least one application is in the execution state, it isdefined that a resource which is referred (used) by the application isin the used period USEDTM.

(II) When a resource is processed on the assumption that it is in theready period READY as seen from at least one application and allapplications which make reference to (use) the resource are not in theexecution state (active), it is defined that the resource is in theready period READY.

(III) When a resource is stored in the file cache FLCCH and there is novalid application or currently executed application which makesreference to (uses) the resource, it is defined that the resource is inthe available period AVLBLE to store advanced application data in thefile cache.

<Image of State Machine of Overlapped Resource Information>

FIG. 65C shows an example of the relationship between overlappedResource Information and state machine. It assumes that two AdvancedApplications refer the same Resource. The state machine of the Resourceis given by overlapping the state machines defined by condition of eachAdvanced Application. If there are different states among overlappedAdvanced Applications, the strongest state is applied for the Resource.The state machine order is the following;

used>ready>available>loading>non-exist

loading state can only be overlapped to non-exist state, because whilethe same Resource is already loaded or loading, the File Cache Managershall not load it again.

When title is jumped one to another, all remained Resource in the FileCache moves to available state, except for the Resources that are usedby new title. The priorities for these resources are defined by the newtitle.

More intelligible explanations will be provided below.

FIG. 65C shows a relationship between resource information RESRCI andeach data storing state in the file cache FLCCH when valid periodsAPVAPE of a plurality of advanced applications which make reference to aresource overlap each other on a title timeline TMLE (or when aplurality of sets of resource information RESRCI meaning the sameresource exist in different parent elements and ranges of valid periodsAPVAPE specified in the respective sets of the resource informationpartially overlap each other). FIG. 65C illustrates a case where twodifferent advanced applications ADAPL make reference to (use) the sameresource. Even after completion of an advanced application ADAPL #1which makes reference to (uses) the same resource, the other advancedapplication ADAPL #2 is in the execution period. When the advancedapplication ADAPL #1 alone makes reference to (uses) the resource, theresource enters the available period AVLBLE to store advancedapplication data in the file cache upon completion of the advancedapplication ADAPL #1. However, as seen from the other advancedapplication ADAPL #2, the resource enters the ready period READY or theused period USEDTM. When the resource in the file cache FLCCH entersdifferent states depending on the overlapped advanced applications ADAPL#1 and #2, the storage state of the resource in the file cache isrepresented (applied) as a “state with the strongest influence”.Priorities of “states with the strong influence” concerning respectivestates of the resource in the file cache are set as follows.

USEDTM>READY>AVLBLE>LOADPE>N-EXST

In an expression showing the above-described priorities (the ordershowing the states with the strong influence), USEDTM represents a usedperiod, and READY indicates a ready period. Further, AVLBLE representsan available period AVLBLE to store advanced application data in thefile cache, and LOADPE indicates a period after data removal from thefile cache. As shown in FIG. 65C, when valid periods APVAPE of theadvanced applications ADAPL #1 and #2 overlap on the title timelineTMLE, this means that loading of the resource has been already completedor the resource is currently loaded (the file cache manager FLCMNG doesnot repeat loading). Therefore, there is a possibility that the loadingperiod LOADPE overlaps the non-exist period N-EXST to remove data thefile cache alone. When the loading period LOADPE overlaps the non-existperiod N-EXST to remove data from the file cache, the loading periodLOADPE has the stronger influence (the higher priority) than thenon-exist period N-EXST to remove data from the file cache, and hencethe current state is regarded as the “loading period LOADPE”.Furthermore, when a title different from a currently executed/used titleis played back from a resource defined by resource information RESRCI ofeach of a playlist application resource PLAPRS, a title resource TTRSRCand an application resource APRSRC, the current state is in the“available period AVLBLE to store advanced application data in the filecache” unless the resource is used in the new target title. When theadvanced content playback unit ADVPL plays back different titles in thismanner, the storage state of the resource in the file cache FLCCH is setto a state defined in the new title by priority.

<Resource Loading>

The File Cache Manager shall control Resource loading to the File Cachebased on Resource Information of Object mapping Information in Playlist.

The File Cache Manager loads the Resource of Advanced Application andAdvanced Subtitle, if these Application Segments do not have anyApplication Activation Information. If there exits ApplicationActivation Information for some Application Segments, the File CacheManager filters only to load the Resource of the Application Segmentwhich is in Selected state and autorun attribute is true, or theApplication Segment which is scheduled to be in active state.

Contents Author shall guarantee amount of the Resource size in thefollowing conditions is equal to or less than 64 MB.

-   -   used state Resource    -   loading state Resource    -   ready state Resource

If the Streaming Buffer was described in Playlist, the memory size forResource decreases by the size of Streaming Buffer.

More intelligible explanations will be provided below.

The file cache manager FLCMNG controls loading of a correspondingresource into the file cache FLCCH based on resource information RESRCIwritten in object mapping information OBMAPI in a playlist PLLST. Asshown in (d) of FIG. 56B, when application activation information(language attribute information LANGAT, application block attribute(index number) information APPLAT, advanced application group attribute(index number) information APGRAT and autorun attribute informationATRNAT) does not exist in an application segment element APPLSG,processing of loading a resource specified in the application segmentelement APPLSG is executed. In general, the resource loading processingis controlled by the file cache manager FLCMNG. Moreover, when theapplication activation information exists in the application segmentelement APPLSG, a corresponding advanced application ADAPL is recognizedas available/is selected and a value of autorun attribute informationATRNAT is “true” (when the advanced application ADAPL is automaticallystarted up), or when the corresponding advanced application ADAPLwritten in the application segment element APPLSG is scheduled to beexecuted, the file cache manager FLCMNG controls loading of a resourcealone which is referred (used) by the advanced application ADAPLscheduled to be executed. In this manner, information such asapplication activity information or autorun attribute information ATRNATis utilized to load into the file cache FLCCH a resource alone which isreferred (used) by an advanced application ADAPL which is scheduled tobe executed. As a result, storage of unnecessary resources in the filecache FLCCH can be eliminated, and a space in the file cache FLCCH canbe effectively exploited. Additionally, a content provider (an editor ofan advanced application ADAPL) must consider a total size of resourcesto be used in such a manner that a total resource size of a resource inthe used period USEDTM, a resource in the loading period LOADPE and aresource in the available period AVLBLE to store advanced applicationdata in the file cache FLCCH becomes not greater than 64 megabytes.Applying the above-described restriction can set a data size which canbe used for resource storage in the file cache FLCCH to be not greaterthan 64 megabytes, thereby reducing a price (reducing a memory capacityrequired for a built-in structure) of the advanced content playback unitADVPL.

<Resource Mapping on Title Timeline>

FIG. 65D shows an example of resource mapping condition on TitleTimeline. It is assumed that all Resource associated applications areactivate or scheduled to be activated.

When Title Timeline is jumped from T0 to T1, the File Cache Managershall retrieve Res A, C and E in advance to start playback at T1.Regarding Res A, T1 is among loadingBegin and titleTimeBegin, it may beloading state in normal playback. In case of jumping onto T1, it shallbe treated as ready state. Therefore the entire Res A file shall beretrieved.

When Title Timeline is jumped from T0 to T2, File Cache Manager shallretrieve Res A, B, C and E. When Title Timeline is jumped from T0 to T3,File Cache manager shall retrieve Res A, D and E.

More intelligible explanations will be provided below.

FIG. 65D shows an example of resource mapping on a title timeline TMLE.It is assumed that an application which makes reference to the resourceis in the execution state or is scheduled to be executed. If a time onthe title timeline TMLE deviates from “T0”, the file cache managerFLCMNG must read a resource A, a resource C and a resource E and controlto start playback from “T1”. The time “T1” exists in a loading periodLOADPE and between a time PRLOAD (LoadingBegin) on the title timeline atwhich fetching (loading) of a target resource begins and a start timeTTSTTM (titleTimeBegin) on the title timeline. Therefore, the resource Acan be set to a state of the loading period LOADPE during regular normalplayback. The time “T1” is a time ahead of the valid period BALPRD asseen from the resource A, and it also corresponds to the ready periodREADY. Therefore, the resource A is transferred to the file cache FLCCHby the file cache manager FLCMNG. Besides, when the time on the titletimeline TMLE shifts to “T2” from “T0”, the file cache manager FLCMNGmust read data of the resource A, the resource B, the resource C and theresource E. Furthermore, the data (files) of the resource A, theresource B, the resource C and the resource E are used on an applicationwhich makes reference thereto. Moreover, when the time on the titletimeline shifts to “T3” from “T0”, the file cache manager FLCMNG isutilized by an application which reads and makes reference to the dataof the resource A, the resource D and the resource E.

As shown in (a) of FIG. 66A, configuration information CONFGI, mediainformation MDATRI and title information TTINFO exist in a playlistPLLST. As shown in (b) of FIG. 66A, first play title element informationFPTELE, one or more pieces of title element information TTELEM andplaylist application element information PLAELE are written in the titleinformation TTINFO. Additionally, as shown in (c) of FIG. 66A, objectmapping information OBMAPI, resource information RESRCI, playbacksequence information PLSQI, track navigation information TRNAVI andscheduled control information SCHECI are arranged in one piece of thetitle element information TTELEM. As shown in (d) of FIG. 66B, a list ofone or more title resource elements is written as contents of theresource information RESRCI. A data configuration written in the titleresource element shown in (d) of FIG. 66B will now be described.

<TitleResource (title resource) element>

TitleResource element describes Title Associated Resource Information,such as a package archive file used in the Advanced Application, or inthe Advanced Subtitle.

XML Syntax Representation of TitleResource element: <Title Resource src= anyURI size = positiveInteger titleTimeBegin = timeExpressiontitleTimeEnd = timeExpression priority = nonNegativeInteger multiplexed= (true | false) loadingBegin = timeExpression noCache = (true | false)description = string >   NetworkSource * </Title Resource>

TitleResource element determines which Archiving Data, or a file shallbe loaded in File Cache. The src attribute refers to Archiving Data, ora file.

Player shall load the resource file into File Cache before theApplication Life Cycle Start.

Resources may be multiplexed in Primary Video Set. In this case, theloadingBegin attribute describes the start time of loading period inwhich, ADV_PCK of P-EVOB contains the Resource.

Resources may come from Persistent Storage indicating by URI [FIG. 20].In this case the loadingBegin attribute describes the start time ofloading period to download the Resource from Persistent Storage.

Resources may come from network server, i.e., the URI scheme of srcattribute is ‘http’, or ‘https’. In this case the loadingBegin attributedescribes the start time of loading period to download the Resource.

NetworkSource element can be presented in TitleResource element, if andonly if the URI scheme of src attribute value of parent element is‘http’, or ‘https’. NetworkSource element describes the Resources to beselected according to network throughput setting.

(a) src attribute

Describes the URI for the Archiving Data, or a file to be load into DataCache.

(b) size attribute

Describes the size of the Archiving Data, or a file in bytes. Thisattribute can be omitted.

(c) titleTimeBegin attribute

Describes the start time of valid period of the resource on TitleTimeline.

(d) titleTimeEnd attribute

Describes the end time of valid period of the resource on TitleTimeline.

(e) priority attribute

Describes the priority of removal of resources which is not referred byactive Application, or Title. Priority shall be integer from 0 to 2³¹−1.

(f) multiplexed attribute

If value is ‘true’, the Archiving Data can be loaded from ADV_PCK ofP-EVOB in the loading period of Title Timeline. If the value is ‘false’,Player shall preload the resource from the specified URI. This attributecan be omitted. Default value is ‘true’.

(g) loadingBegin attribute

Describes the start time of loading period on Title Timeline. If noloadingBegin attribute is present, the start time of loading periodshall be ‘00:00:00:00’.

(h) noCache attribute

If noCache attribute value is ‘true’ and URI scheme of src attributevalue of parent element is ‘http’, or ‘https’, the ‘no-cache’ directiveshall be included in both Cache-Control and Pragma in HTTP request forthe resource file. If noCache attribute value is ‘false’ and URI schemeof src attribute value of parent element is ‘http’, or ‘https’,‘no-cache’ directive shall be included in neither Cache-Control, norPragma header. If URI scheme of src attribute value of parent element is‘http’, or ‘https’, the noCache attribute shall be absent. The noCacheattribute can be omitted. Default value is ‘false’.

(i) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

Resource information RESRCI corresponding to a title is written in atitle resource element. A resource specified by the resource informationRESRCI corresponding to a title means a packaged archive file or dataused in an advanced application ADAPL (including a title associatedadvanced application TTAPL) or an advanced subtitle ADSBT. As shown inFIG. 71, resources which are temporarily stored in the file cache FLCCHin this embodiment can be classified into a playlist associationresource PLATRS, a title resource TTRSRC and an application resourceAPRSRC.

A resource managed by the title resource element shown in (d) of FIG.66B represents a title resource TTRSRC shared by a plurality of advancedapplications ADAPL in the same title. The title resource elementindicates a position at which archiving data or an archiving file to beloaded in the file cache FLCCH is stored. The src attribute information(resource attribute information) represents a storage position SRCDTC ofthe archiving data or the archiving file. The advanced content playbackunit ADVPL in this embodiment must complete loading of the resource fileinto the file cache FLCCH before a timing (the execution period APACPEof a corresponding application) at which a corresponding applicationlife cycle begins. The resource can be multiplexed and stored in aprimary video set PRMVS. Such an application resource APRSRC as shown in(b) of FIG. 73A (FIGS. 73A and 73B show a playlist application resourcePLAPRS, but the present invention is not restricted thereto, and thesame contents can be applied to a title resource TTRSRC or anapplication resource APRSRC used a title) is divided into each dataconsisting of 2048 bytes and packed in advanced packs ADV_PCK in unitsof 2048 bytes as shown in (c) of FIG. 73A, and the advanced packsADV_PCK are dispersed and arranged with other packs in primary enhancedvideo object data P-EVOB as shown in (d) of FIG. 73A. Such a situationis called being multiplexed. In this case, as shown in FIG. 65A, a starttime of a loading period LOADPE is specified by a time PRLOAD(LoadingBegin attribute information) on a title timeline at whichfetching (loading) of a target resource beings. As a result, acorresponding resource can be downloaded into the file cache FLCCH fromthe persistent storage PRSTR. This embodiment is not restricted thereto,and a resource can be downloaded into the file cache FLCCH from theinformation storage medium DISC or the network server NTSRV. In case ofdownloading a resource from the network server NTSRV as described above,URI (universal resource identifier) information starting from “http” or“https” is written as information indicative of a storage positionSRCDTC (src attribute information) of data or a file downloaded into thedata cache shown in (d) of FIG. 66B. In this case, a value of the timePRLOAD (LoadingBegin attribute information) on a title timeline at whichfetching (loading) of a target resource begins represents a start timeof the loading period LOADPE in which a corresponding resource isdownloaded from the network server NTSRV. When a corresponding resourceis downloaded from the network server NTSRV and information of a storageposition SRCDTC (src attribute information) of data or a file downloadedinto the data cache starts from “http” or “https”, a network sourceelement NTSELE can be written in a corresponding title resource element.Based on information of the network source element NTSELE, it ispossible to select an optimum resource which should be downloaded inaccordance with a network throughput in a network environment of theinformation recording and playback apparatus 1 as shown in FIG. 67 or68. Furthermore, size information DTFLSZ (size attribute information) ofdata or a file of the resource to be downloaded into the data cache isrepresented in the form of a positive number value in units of byte, anda description of this information can be eliminated in a title resourceelement. Moreover, a start time TTSTTM (titleTimeBegin attributeinformation) on a title timeline of a corresponding resource isindicative of a start time of a valid period VALPRD of the correspondingresource on the title timeline TMLE, and it is written in the form of“HH:MM:SS:FF”. Additionally, an end time TTEDTM (titleTimeEnd attributeinformation) on a title timeline of a corresponding resource isindicative of an end time TTEDTM of a valid period VALPRD of thecorresponding resource on the title timeline TMLE, and it is written inthe form of “HH:MM:SS:FF”. Further, priority information PRIORT(priority attribute information) for removal of a corresponding resourcerepresents priority information when removing the corresponding resourcewhich is no longer referred by a currently executed advanced applicationADAPL from the data cache DTCCH, and removal is executed from a resourcehaving a higher set value. Furthermore, as a value of this information,it is possible to write a positive number value which falls within arage of 0 to “2³¹−1”. In this embodiment, a playlist applicationresource PLAPRS is downloaded into the file cache FLCCH during playbackof a first play title FRPLTT, and it is kept being stored in the filecache FLCCH during use of the advanced content playback unit ADVPL. Onthe other hand, a title resource TTRSRC and an application resourceAPRSRC are no longer used, and they are removed from the file cacheFLCCH when they are not scheduled to be used later, thereby effectivelyexploiting a space in the file cache FLCCH and reducing a size of thefile cache FLCCH. As a result, a price of the advanced content playbackunit ADVPL can be decreased. An order of removing the title resourceTTRSRC and the application resource APRSRC from the file cache FLCCH atthis time is specified in the priority information PRIORT (priorityattribute information) for detection of corresponding resources. Asdescribed above in conjunction with (A) in FIG. 64A, the followingrelationship is set as a priority level concerning the title resourceTTRSRC and the application resource APRSRC which are in an availableperiod AVLBLE to store advanced application data in the file cache.

Ptitle_available >Papp_available

The above-described expression specifies the application resource APRSRCin the file cache FLCCH to be removed from the file cache FLCCH beforethe title resource TTRSRC by priority. In accordance with thisspecification, a minimum value which is set in the priority informationPRIORT (priority attribute information) for removal of a correspondingresource is set to vary depending on the title resource TTRSRC and theapplication resource APRSRC. That is, the set minimum value of thepriority information PRIORT (priority attribute information) for removalof a corresponding resource is “1” in an application resource elementAPRELE (see (d) of FIG. 63C) which manages the application resourceAPRSRC, whereas the minimum value of the priority information PRIORT(priority attribute information) for removal of a corresponding resourceis “0” in a title resource element (see (d) of FIG. 66B) which managesthe title resource TTRSRC. As a result, even when values of the priorityinformation PRIORT (priority attribute information) for removal of acorresponding resource in the title resource element and that in theapplication resource element APRELE are respectively set to the minimumvalues, the value of the priority information PRIORT (priority attributeinformation) for removal of a corresponding resource in the applicationresource element APRELE becomes higher. Therefore, the applicationresource APRSRC can be removed from the file cache FLCCH ahead of theother resource. As a result, resource management in the file cache FLCCHcan be effectively performed. Additionally, either “true” or “false” canbe set as a value of multiplexed attribute information MLTPLX. In caseof “true”, as shown in (d) of FIG. 73A, resource data exists in anadvanced pack ADV_PCK in a primary enhanced video object P-EVOB, anddownload processing into the file cache FLCCH must be completed during aspecified loading period LOADPE. Furthermore, in case of “false”, theresource data must be preloaded in the form of a definite file from theoriginal storage position SRCDTC (a specified URI). A description ofthis multiplexed attribute information MLAPLX can be eliminated, and“true” as a default value is automatically set in such a case. A timePRLOAD (LoadingBegin attribute information) on a title timeline at whichfetching (loading) of a target resource begins is written in the form of“HH:MM:SS:FF”. A description of the time PRLOAD (LoadingBegin attributeinformation) on the title timeline at which fetching (loading) of thetarget resource begins can be eliminated in the title resource element.In such a case, the time PRLOAD on the title timeline at which fetching(loading) of the target resource begins is automatically set as“00:00:00:00” so that fetching (loading) of the target resource beginsat a playback start time of a corresponding title. Further, when a valueof no-cache attribute information NOCACH is “true”, a Cach-Controlheader and Pragma header must be included in a GET request message ofHTTP. On the contrary, when this value is “false”, the Cach-Controlheader and the Pragma header are not included in the GET request messageof HTTP. Although additional information for a title resource element iswritten in a text format which is familiar to people, a description ofthe additional information can be eliminated. As described above (asshown in (d) of FIG. 66B), a network source element NTSELE can bewritten in a title source element. As shown in (e) of FIG. 66C, a dataconfiguration in the network source element NTSELE is formed as a set ofallowable minimum value information NTTRPT of a network throughput(NetworkThroughput attribute information) and a network source storageposition SRCNTS (src attribute information) corresponding to theallowable minimum value of the network throughput. The allowable minimumvalue information NTTRPT of the network throughput (NetworkThroughputattribute information) relates to a network throughput (a data transferrate) when downloading a network source (data or a file) from a storageposition specified in corresponding src attribute information SRCNTS,and it is represented as a minimum value allowed as a network system andwritten in units of 1000 bps. Furthermore, the storage position SRCNTSof the network source (src attribute information) corresponding to theallowable minimum value of the network throughput is written in the formof an URI (a uniform resource identifier). When the network sourcestorage position SRCNTS is set in a secondary audio video clip elementSCAVCP, a substitute audio video clip element SBAVCP or a substituteaudio clip element SBADCP, it specifies a storage position of a time mapfile STMAP of secondary enhanced video object data S-EVOB. Moreover,when the src attribute information is set in an application resourceelement APRELE or a title resource element, it specifies a storageposition of a manifest file MNFST, a markup file MRKUP, a script fileSCRPT, a still image file IMAGE, an effect audio file EFTAD, a font fileFONT or the like which is loaded into the file cache FLCCH.

A function and a use method of a network source element NTSELE shown in(c) of FIG. 63C or (e) of FIG. 66C will now be described hereinafter.

<NetworkSource (Network Source) Element and Selection of ContentsAccording to Network Throughput Setting>

(I) If the data source is ‘Network’, the source of Presentation Objectcan be selected from the list of network sources according to networkthroughput setting. The network throughput setting is determined byNetwork Throughput of Player Parameter (Refer to FIG. 46).

The network sources are described by a list of NetworkSource element ofa Presentation Clip element, in addition to its src attribute. EachNetworkSource element describes a source of network content, and minimumnetwork throughput value to use this content. The src attribute andnetworkThroughput attribute of the NetworkSource element describes theURI of TMAP file for network content, and minimum network throughputvalue, respectively. The networkThroughput value of NetworkSourceelement shall be unique in a Presentation Clip element. The srcattribute of Presentation Clip element is treated as default source,which is selected when no NetworkSource element in the Presentation Clipelement satisfy the network throughput condition.

During the initialization of Title Timeline Mapping in the StartupSequence, Playlist Manager determines the network source according tothe following rule:

Network source selection rule:

Get the NetworkSource element which have the minimum network throughputvalue less than, or equals to Network Throughput of Player Parameter.

if (only one NetworkSource element satisfies the network throughputconstraint) {

Select the source described by this element as the content source.

} else if (two, or more NetworkSource elements satisfy the networkthroughput constraint) {

Select the source described by the element with largestnetworkThroughput attribute value as the content source.

} else {

Select the source described by src attribute of Presentation Clipelement as the content source.

}

(II) If the resource is located on HTTP/HTTPS server, the source ofresource can be selected from the list of network sources according tonetwork throughput setting. The network throughput setting is determinedby Network Throughput of Player Parameter (Refer to FIG. 46).

The network sources are described by a list of NetworkSource element ofa Resource Information element, in addition to its src attribute. EachNetworkSource element describes a source of network content, and minimumnetwork throughput value to use this content. The src attribute andnetworkThroughput attribute of the NetworkSource element describes anURI of a resource file, or a file for network content, and minimumnetwork throughput value, respectively. The networkThroughput value ofNetworkSource element shall be unique in a Resource information element.The src attribute of Resource Information element is treated as defaultsource, which is selected when no NetworkSource element in the ResourceInformation element satisfy the network throughput condition.

During the initialization of Title Timeline Mapping in the StartupSequence, Playlist Manager determines the network resource according tothe following rule:

Network resource selection rule:

Get the NetworkSource element which have the minimum network throughputvalue less than, or equals to Network Throughput of Player Parameter.

if (only one NetworkSource element satisfies the network throughputconstraint) {

Select the resource described by this as the resource.

} else if (two, or more NetworkSource elements satisfy the networkthroughput constraint) {

Select the resource described by the element with largestnetworkThroughput attribute value as the resource.

} else {

Select the resource described by src attribute of Resource Informationelement as the resource.

}

Selected archive file, or a file shall be referred by the URI describedby src attribute of Resource Information element, regardless of the URIof selected NetworkSource element.

More intelligible explanations will be provided below.

In regard to secondary audio video SCDAV managed in a secondary audioclip element SCAVCP shown in (d) of FIG. 54B, substitute audio videoSBTAV managed in a substitute audio video clip element SBAVCP shown in(c) of FIG. 55B and substitute audio SBTAD managed in a substitute audioclip element SBADCP shown in (d) of FIG. 55B, a playback/display objectstored in the network server NTSRV can be stored in the data cache DTCCHto be used for playback/display. When the playback/display object isstored in the network server NTSRV in this manner, a network sourceelement NTSELE can be arranged (written) in resource information RESRCI(an application resource element APRELE or a title resource element). Inthis case, the advanced content playback unit ADVPL can utilize a listof the network source elements NTSELE to select a playback/displayobject optimum for a network environment of the information recordingand playback apparatus 1 (see FIG. 1). Additionally, as shown in (d) ofFIG. 63C, when a value of a “storage position SRCDTC (src attributeinformation) of data or a file downloaded into the data cache DTCCH” ofan application resource APRSRC existing in an advanced subtitle segmentelement ADSTSG or an application segment element APPLSG or a value of a“storage position SRCDTC (src attribute information) of data or a filedownloaded into the data cache” in a title resource element shown in (d)of FIG. 66B starts from “http” or “https”, a network source elementNTSELE can be arranged in the application resource element APRELE or thetitle resource element. A value of allowable minimum value informationNTTRPT of a network throughput is written in the network source elementNTSELE, and the advanced content playback unit ADVPL shown in FIG. 1 canuse the network source element NTSELE to select an optimum resource froma list of the network source elements NTSELE in accordance with a valueof a network throughput in a network environment where the informationrecording and playback apparatus 1 exists. The advanced content playbackunit ADVPL shown in FIG. 1 can be aware of information of the networkthroughput based on the network environment where the informationrecording and playback apparatus 1 is placed in accordance with thefollowing procedure. That is, at the time of initial setting of theadvanced content playback unit ADVPL described at step S101 in FIG. 68,a user inputs information of the network environment as explained atstep S102. Specifically, a general user does not know a value of thenetwork throughput in the network environment. However, he/she knowsinformation indicating whether the network to which the informationrecording and playback apparatus 1 is connected is a telephone lineusing a modem, connection using an optical cable or a network line basedon ADSL. Therefore, he/she can input the network environment informationon the above-described level. Then, the advanced content playback unitADVPL calculates (estimates) an expected network throughput value basedon a result of the step S102, and records the expected networkthroughput value in a network throughput section (networkThroughput) ina player parameter shown in FIG. 46 (step S103). As a result, makingreference to a value in the network throughput section(networkTroughput) belonging to the player parameter (shown in FIG. 46)serving as a memory region set in the advanced content playback unitADVPL allows the advanced content playback unit ADVPL to be aware of (avalue of an allowable minimum value of the network throughput based on)the network environment where the corresponding information recordingand playback apparatus 1 is placed. In the embodiment shown in FIG.67(b), a file name under which secondary enhanced video object dataS-EVOB which corresponds to a value of the network throughput anddisplays high-definition pictures is stored is determined asS-EVOB_HD.EV0, and a name of a time map file STMAP of a secondary videoset used for this file is determined as S-EVOB_HD.MAP. Both theS-EVOB_HD.EV0 file as the object file and the S-EVOB_HD.MAP file whichis the time map STMAP of the corresponding secondary video set arearranged in the same folder (a directory) in the network server NTSRV.Furthermore, an object file which corresponds to a low networkthroughput and in which secondary enhanced video object data S-EVOBhaving a low resolution is recorded is called S-EVOB_LD.EV0, and a timemap STMAP of a secondary video set used for this file is determined asS-EVOB_LD.MAP. Both the S-EVOB_LD.EV0 as the object file and thecorresponding time map file S-EVOB_LD.MAP are arranged in the samefolder (a directory) in the network server NTSRV. In this embodiment, afile name and a storage position (a path) of a time map of a secondaryvideo set corresponding to secondary enhanced video object data S-EVOBare written as values of src attribute information in various clipelements in a playlist file PLLST. In this embodiment, storing both thetime map file STMAP of the secondary video set and the object file inthe same folder (a directory) in the network server NTSRV can facilitatefinal access to the object file of the secondary enhanced video objectdata S-EVOB. Further, in this embodiment, in order to further facilitateaccess from the playlist file PLLST, an object file name and a time mapfile name corresponding to each other are matched as shown in (b) ofFIG. 67 (extensions are different as “.EVOB” and “.MAP” to enableidentification). Therefore, a storage position (a path) and a file nameof the secondary enhanced video object data S-EVOB which should bestored in the data cache DTCCH can be recognized based on a storageposition (a path) and a file name written in an index information filestorage position SRCTMP (src attribute information) of theplayback/display object to which reference should be made. A value ofsrc attribute information written in the secondary audio video clipelement SCAVCP tag, the substitute audio video clip element SBAVCP tagor the substitute audio clip element SBADCP tag and a value of srcattribute information in each network source element NTSELE arranged ineach clip element (the index information storage position SRCTMP of theplayback/display object to which reference should be made) are set todifferent values (a storage position (a path) and a file name).Furthermore, likewise, a value of a “storage position SRCDTC (srcattribute information) of data or a file to be downloaded into the datacache” written in an application resource element APRELE shown in (d) ofFIG. 63C, a value of a “storage position SRCDTC (src attributeinformation) of data or a file to be downloaded into the data cache”written in a title resource element shown in (d) of FIG. 66B and a valueof src attribute information in each network source element NTSELEarranged in the application resource element APRELE or the titleresource element are different from each other. That is, a storageposition SRCNTS of a network source corresponding to an allowableminimum value of a network throughput is set in addition to a “storageposition SRCDTC (src attribute information) of data or a file to bedownloaded into the data cache” specified in the application resourceelement APRELE or the title resource element. Allowable minimum valueinformation NTTRT (networkthroughput attribute information) of a networkthroughput which is guaranteed when accessing a network source specifiedby the network source storage position SRCNTS and downloading thenetwork source into the data cache DTCCH is written in each networksource element NTSELE. Meanwhile, an URI (a uniform resource identifier)of a time map file STMAP of a secondary video set corresponding tonetwork contents is written in an src attribute value in a networksource element NTSELE arranged in a secondary audio video clip elementSCAVCP shown in (d) of FIG. 54B, a substitute audio video clip elementSBAVCP shown in (c) of FIG. 55B or a substitute audio clip elementSBADCP shown in (d) of FIG. 55B. Further, in a network source elementNTSELE arranged in an application resource element APRELE shown in (d)of FIG. 63C or a title resource element shown in (d) of FIG. 66B, a“storage position of a file corresponding to a resource file or networkcontents” is written in the form of an URI (a uniform resourceidentifier) as an src attribute information value. Furthermore, a valueof allowable minimum value information NTTRPT of a network throughput(networkThroughput attribute information) must be set as a unique value(different from other values) in each presentation clip element in anetwork source element NTSELE arranged in a secondary audio video clipelement SCAVCP shown in (d) of FIG. 54B, a substitute audio video clipelement SBAVCP shown in (c) of FIG. 55B or a substitute audio clipelement SBADCP shown in (d) of FIG. 55B. That is because, when values ofthe allowable minimum value information of the network throughput(networkSource attribute information) are equal to each other indifferent network source elements NTSELE, the advanced content playbackunit ADVPL cannot decide which secondary enhanced video object dataS-EVOB should be accessed. Therefore, providing the above-describedrestriction can facilitate selection of the secondary enhanced videoobject data S-EVOB (a time map STMAP) which should be accessed by theadvanced content playback unit ADVPL. For the same reason, in a networksource element NTSELE arranged in an application resource element APRELEshown in (d) of FIG. 63C or a title resource shown in (d) of FIG. 66B,the allowable minimum value information NTTRPT of the network throughput(a networkThroughput attribute information value) must be uniquely setin the same resource information element (as a value which differsdepending on a different network source element NTSELE).

Moreover, when a value of the allowable minimum value information NTTRPTof the network throughput written in the network source element does notsatisfy conditions of the network throughput in a network environment inwhich the information recording and playback apparatus 1 is placed(e.g., when the network throughput is very low since the networkenvironment of the information recording and playback apparatus 1 uses atelephone line and it is lower than a value of the allowable minimumvalue information NTTRPT of the network throughput specified in thenetwork source NTSELE), this embodiment recommends the followingcountermeasures.

The src attribute information defined in each presentation clip element(a secondary audio video clip element SCAVCP, a substitute audio videoclip element SBAVCP, or a substitute audio clip element SBADCP) isregarded as a source in a default state, and utilized for downloadinginto the data cache DTCCH.

An access to a position defined in the src attribute information writtenin the network source element NTSELE for downloading into the file cacheis not made, but the src attribute information written in the resourceinformation element (an application resource element APRELE or a titleresource element) is processed as a default source which is a resourcetarget to be downloaded into the file cache FLCCH.

A specific embodiment utilizing information of the network sourceelement NTSELE will now be described with reference to FIG. 67. As shownin (a) of FIG. 67, according to a list of network source elements NTSELEin which a time map file S-EVOB_HD.MAP which makes reference to anobject file S-EVOB_HD.EV0 having high-definition secondary enhancedvideo object data S-EVOB stored therein is set as src attributeinformation, a network throughput which is at least 100 Mbps must beguaranteed in order to download the S-EVOB_HD.EV0 file through a networkpath 50. Additionally, according to a list of network source elementsNTSELE in which a time map file S-EVOB_LD.MAP which makes reference toan object file S-EVOB_LD.EV0 having low-resolution secondary enhancedvideo object data S-EVOB recorded therein is specified by the srcattribute information, a network throughput which is 56 Kbps or abovecan suffice when downloading the object file S-EVOB_LD.EV0 through thenetwork path 50. As shown in FIG. 67(d), the playlist manager PLMNG inthe navigation manager NVMNG has information of an average networkthroughput based on a network environment of the information recordingand playback apparatus 1 in a network throughput (networkThroughput)section of the player parameter shown in FIG. 46. Therefore, the list ofthe network source elements NTSELE shown in FIG. 67(a) is interpreted,and the playlist manger PLMNG judges which object file should beaccessed for downloading. Based on a result of the judgment, theplaylist manager PLMNG accesses the network server NTSRV through thenetwork manager NTMNG in the data access manager DAMNG and an networkI/O unit 7-3. Consequently, the object file stored in the set networkserver NTSRV is downloaded into the data cache DTCCH through the networkI/O unit 7-3 and the network manager NTMNG in the data access managerDAMNG. Data concerning data or a file to be downloaded in this manner orinformation of a storage position (or an access destination) of a fileand a network throughput minimum value are recorded as a network sourceelement NTSELE in management information (a playlist file PLLST). Thisembodiment is characterized in that data or a file to be downloaded canbe selected in accordance with a network environment. As a result, anetwork source optimum for the network environment can be downloaded.

FIG. 68 shows a method of selecting an optimum resource (including anobject file or a time map file) selected by the playlist manager PLMNGdepicted in FIG. 67(d) when a list of the network source elements NTSELEis written as shown in FIG. 67(a).

In a startup sequence for starting playback of advanced contents ADVCT,the playlist manager PLMNG selects a network resource to be downloadedinto the file cache FLCCH in a period where mapping initial setting in atitle timeline TMLE is performed. A a basic concept in this example willnow be described. First, when the advanced content playback unit ADVPLstarts initial setting (step S101), the advanced content playback unitADVPL requests a user to input information of a network environment inwhich the information recording and playback apparatus 1 is placed. Theuser selects, e.g., a telephone line using a modem, an ADSL line, or thenetwork path 50 using an optical cable as the network environment. As aresult, the user inputs the network environment information (step S102).Based on the result, the navigation manager NVMNG calculates an expectednetwork throughput value in the information recording and playbackapparatus 1, and stores it in a network throughput section in the playerparameter shown in FIG. 46 (step S103). The player parameter shown inFIG. 46 is stored in a memory region in the advance content playbackunit ADVPL. As a result, initial setting of the advanced contentplayback unit ADVPL is completed (step S104). Then, when playback of theadvanced contents ADVCT is started, the playlist manager PLMNG reads anetwork throughput value in the player parameter (step S105). Then, theplaylist manager PLMNG reads information of a playlist file PLLST (stepS106). Subsequently, at steps S107 and S108, contents of a networksource element NTSELE in the playlist file PLAT are interpreted, andextraction processing of an optimum network source element NTSELE isexecuted. As specific contents concerning the extraction processing ofan optimum network source element NTSELE, as described in the step S107,network source elements NTSELE in which a value of network throughputallowable minimum value information NTTRPT (networkThroughput attributeinformation) takes a value which is not smaller than a networkthroughput value written in the network throughput section in the playerparameter are solely extracted. In the extracted network source elementsNTSELE, when there is only one network source element NTSELE satisfyingnetwork throughput conditions corresponding to the information recordingand playback apparatus 1, this network source element NTSELE is selectedto access src attribute information written in the network sourceelement NTSELE, thereby downloading a corresponding resource, objectfile or time map file STMAP into the data cache DTCCH. Further, asdifferent from the above example, in the extracted network sourceelements NTSELE, when there are two or more (a plurality of) networksource elements NTSELE satisfying the network throughput conditionsbased on the network environment where the information recording andplayback apparatus 1, a network source having the largest value of thenetwork throughput allowable minimum value information NTTRPT(networkThroughput attribute information) with respect to a resource, anobject file or a time map file to be accessed is selected, and srcattribute information written in the selected network source elementNTSELE is accessed, thereby downloading a corresponding network source,object file or time map file into the data cache DTCCH (steps S107 toS109). Furthermore, as different from the above two conditions, when anetwork source element NTSELE satisfying the network throughputconditions corresponding to the information recording and playbackapparatus 1 is not extracted, an access is made to a storage positionwritten in the form of a value of src attribute information in apresentation clip element, an application source element APRELE or atitle source element which is a parent element of the network sourceelement NTSELE to store a corresponding resource, object file or timemap file into the data cache DTCCH. Moreover, when appropriate networksource element NTSELE is extracted by the above-described method butthere is no expected resource file even though an access is made to aposition written in src attribute information in the extracted networksource element NTSELE, an access is made to a position written in srcattribute information in an application resource element APRELE or atitle resource element which is a parent element of the network sourceelement NTSELE to perform download processing into the data cache DTCCHin place of utilizing information of the network source element NTSELE.After completion of downloading the resource data or the resource file,the data or the file stored in the data cache DTCCH is used to effectplayback/display for a user (step S110). Upon termination of playback ofthe advanced contents ADVCT, playback termination processing is executed(step S111).

As shown in (a) of FIG. 69A, configuration information CONFGI, mediainformation MDATRI and title information TTINFO exist in a playlistPLLST. As shown in (b) of FIG. 69A, first play title element informationFPTELE and one or more pieces of title element information TTELEM existin the title information TTINFO, and playlist application elementinformation PLAELE is arranged at the end of the title informationTTINFO.

<PlaylistApplication (Playlist Application) Element and PlaylistAssociated Advanced Application>

PlaylistApplication element in TitleSet element describes the ObjectMapping Information of Playlist Associated Advanced Application.Playlist Associated Advanced Application is a special type of AdvancedApplication. The life time of Playlist Associated Advanced Applicationis all of the entire Title Timeline of all Title in a Playlist, whilethe life time of other Advanced Application is some time interval, orentire Title Timeline of a Title. Advanced Application other thanPlaylist Associated Advanced Application is called by title AssociatedAdvanced Application.

The dataSource of Playlist Associated Advanced Application shall beDisc, or Persistent Storage. Playlist Associated Advanced Application isalways Hard-Sync Application.

The Markup in Playlist Associated Advanced Application shall not usetitle clock.

All PlaylistApplication elements belong to the same Application Block.The language attribute shall be present and unique in a Playlist. Onlyone PlaylistApplication element may be activated in accordance with MenuLanguage System Parameter.

More intelligible explanations will be provided below.

Object mapping information OBMAPI of a playlist associated advancedapplication PLAPL is written based on playlist application elementinformation PLAELE in a title set element (title information TTINFO). Asshown in FIGS. 70 and 71, the playlist associated advanced applicationPLAPL is one type of advanced applications ADAPL, and it is classifiedas a special type of the advanced applications ADAPL. A life time (avalid period APVAPE) of the playlist associated advanced applicationPLAPL is set in all title timeline TMLE regions in all titles defined ina playlist PLLST. That is, as shown in FIG. 70, an execution (display)period APACPE of the playlist associated advanced application PLAPLbecomes valid on all title timelines TMLE in all titles defined in theplaylist PLLST excluding the first play title FRPLTT, and the playlistassociated advanced application PLAPL can be used at an arbitrary timein an arbitrary title. In comparison with this configuration, as shownin FIG. 70, a title associated advanced application TTAPL becomes validon all title timelines TMLE in one title, and a valid period ADVAPE ofthe title associated advanced application TTAPL (an advanced applicationADAPL #B) matches with set periods of all title timelines TMLE in acorresponding title #2. Further, the title associated advancedapplication TTAPL does not necessarily become valid in different type(e.g., a title #1 or a title #3), and a title resource TTRSRC which isreferred (used) by the title associated advanced application TTAPL maybe removed in playback of, e.g., the title #1 or the title #3 in somecases. Furthermore, as compared with the valid period APVAPE of theplaylist associated advanced application PLAPL, a valid period APVAPE ofa general advanced application ADAPL corresponds to a specific timeinterval in a specific title alone. Moreover, data of an applicationresource APRSRC which is referred (used) by the general advancedapplication ADAPL may be removed from the file cache FLCCH in a periodother than the valid period APVAPE of the advanced application ADAPL insome cases. The advanced application ADAPL #B which has a valid periodAPVAPE in a title timeline TMLE of a title except the playlistassociated advanced application PLAPL is called a title associatedadvanced application TTAPL. A playlist application resource PLAPRS (adata source) as a resource which is referred (used) by the playlistassociated advanced application PLAPL is stored in the informationstorage medium DISC or the persistent storage PRSTR. Synchronizationattribute information SYNCAT of the playlist associated advancedapplication PLAPL is always a hard sync (hard synchronization) typeapplication. That is, progress of a title timeline TMLE is temporarilystopped until loading a playlist application resource PLAPRS which isreferred (used) by the playlist associated advanced application PLAPLinto the file cache FLCCH is completed, and progress of the titletimeline TMLE is allowed only after completion of loading the playlistapplication resource PLAPRS. It is assumed that downloading the playlistapplication resource PLAPRS into the file cache FLCCH is completedduring playback of a later-described first play title FRPLTT. Therefore,even if the playlist advanced application PLAPL is a hard sync (hardsynchronization) application, the title timeline TMLE is hardly stoppedduring playback of a title other than the first play title. However,when loading of the playlist application resource PLAPRS into the filecache FLCCH is not completed even though the first play title FRPLTT isfinished, playback of the title is stopped (progress of the titletimeline TMLE is stopped) until the loading is completed. In thisembodiment, a selection attribute (a user operation responseenabled/disabled attribute (selectable attribute information)) of thefirst play title FRPLTT is temporarily set to “false” so that jump toanother title or fast-forward of the first play title FRPLTT by a useris basically prevented from being executed during playback of the firstplay title FRPLTT. However, when jump to another title is performedbefore completion of loading the playlist application resource PLAPRSduring playback of the first play title FRPLTT due to any setting error,since the playlist associated advanced application PLAPL is a hard sync(hard synchronization) application, a title timeline TMLE of the titleas a jump destination is stopped until loading of the playlistapplication resource PLAPRS into the file cache FLCCH is completed. Atick clock must not be used for markup MRKUP which is utilized in theplaylist associated advanced application PLAPL. All of playlistapplication element information PLAELE written in a playlist PLLSTbelong to the same application block. Language attribute informationLANGAT (language attribute information) in the playlist applicationelement information PLAELE shown in (c) of FIG. 69B must be written (adescription of this information cannot be eliminated), and a value ofthe language attribute information LANGAT must be uniquely (equally) setin the same playlist PLLST. For example, when the language attributeinformation LANGAT (language attribute information) is set to Japanesein the playlist application element information PLAELE, the playlistassociated advanced application PLAPL must be all used as Japanese inthe same playlist PLLST. Although one piece of playlist applicationelement information PLAELE is written in (b) of FIG. 69A, a plurality ofpieces of playlist application element information PLAELE which arerespectively set in different languages in the language attributeinformation LANGAT (language attribute information) are actuallywritten. A memory region in the advanced content playback unit ADVPL hasa region in which information of a profile parameter shown in FIG. 47 iswritten. The profile parameter shown in FIG. 47 has a position whereinformation of a menu language (menulanguage) is recorded. The playlistapplication element information PLAELE which is displayed/executed isselected in accordance with a menu language (menulanguage) set in thememory region in this advanced content playback unit ADVPL. That is, theplaylist application element information PLAELE having a value oflanguage attribute information LANGAT (language attribute information)shown in (c) of FIG. 69B matched with language information recorded inthe menu language (menulanguage) shown in FIG. 47 is solely extracted asvalid information and used for display/execution.

<PlaylistApplication (Playlist Application) Element>

PlaylistApplication element describes the Object Mapping Information forPlaylist Associated Advanced Application, which is a special type ofAdvanced Application whose life time is all of entire Title.

XML Syntax Representation of PlaylistApplication element:<PlaylistApplication id = ID src = anyURI zOrder = nonNegativeIntegerlanguage = language description = string >  PlaylistApplicationResource * </PlaylistApplication>

The Playlist Associated Advanced Application shall be scheduled onentire Title Timeline of all. Title in a Playlist, except for First PlayTitle.

Playlist Associated Advanced Application shall be referred by the URIfor the Manifest file of the initialization information of theapplication.

PlaylistApplication element can contain a list ofPlaylistApplicationResource element, which describes the information ofResource Information per this Playlist Associated Advanced Application.

All PlaylistApplication elements belong to the same Application Block.Only one PlaylistApplication element may be activated in accordance withMenu Language System Parameter.

(a) src attribute

Describes the URI for the Manifest file which describes theinitialization information of the application.

(b) zOrder attribute

Describes the Application z-order. Application z-order is used by tickclock frequency.

(c) language attribute

Describes the application language, which consists of two-letterlowercase symbols defined in ISO-639. This attribute shall be present.

(d) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

The playlist associated advanced application PLAPL is scheduled to bevalid in all time regions set in title timelines TMLE in all titlesexcept a first play title FRPLTT. The src attribute information (sourceattribute information) written in playlist application elementinformation PLAELE which manages the playlist associated advancedapplication PLAPL is specified as a manifest file storage positionURIMNF including initial setting information of a correspondingapplication. That is, information referred by playlist applicationelement information PLAELE is referred as a playlist associated advancedapplication PLAPL to retrieve a storage position of a manifest fileMNFST, and this information is written in the form of a URI (a uniformresource identifier). The manifest file MNFST includes initial settinginformation of a corresponding application. As shown in (c) of FIG. 69B,the playlist application element information PLAELE includes a list ofplaylist application resource elements PLRELE. Information of theplaylist application resource element PLRELE is written about resourceinformation RESRCI used in the playlist associated advanced applicationPLAPL. As shown in (c) of FIG. 68B, although the playlist applicationelement information PLAELE includes playlist application ID informationPLAPID, providing the playlist application ID information PLAPID in theplaylist application element information PLAELE as shown in FIG. 82 canfacilitate reference using an API command. Further, in regard to Z-orderattribute (Z-index) information ZORDER, a number of a layer in whichapplications or application elements are superimposed and arranged in agraphic plane GRPHPL is specified, and “0” or a positive number value isset as this value. Furthermore, the layer number is used (subjected tosetting change) in accordance with a frequency of a check clock. Thelanguage attribute information LANGAT (language attribute information)is utilized when selecting a specific one from a plurality of pieces ofplaylist application element information PLAELE in accordance with amenu language in the profile parameter as described above. Moreover,this information specifies a languages used for characters displayed ina screen (e.g., a menu screen) or voices. Therefore, a description ofthe language attribute information LANGAT (language attributeinformation) cannot be eliminated in the playlist application elementinformation PLAELE, and it must be written. Additionally, additionalinformation concerning a playlist application which can be arranged at alast position is written in a text format familiar to people, but adescription of the additional information can be eliminated.

<PlaylistApplicationResource (Playlist Application Resource) Element)>

PlaylistApplicationResource element describes Playlist AssociatedResource Information, such as a package archive file used in thePlaylist Associated Advanced Application.

XML Syntax Representation of PlaylistApplicationResource element:<PlaylistApplicationResource src = anyURI size = positiveIntegermultiplexed = (true | false) description = string />

PlaylistApplicationResource element determines which Archiving Data, ora file shall be loaded in File Cache. The src attribute refers toArchiving Data in Disc, or Persistent Storage.

Player shall load the resource file into Data Cache before the lifecycle of the corresponding Playlist Associated Advanced Application.

The valid period of Playlist Application Associated Resource is theentire Title Timeline of all Title in a Playlist, except for First PlayTitle.

The loading period of Playlist Application Associated Resource is theTitle duration of First Play Title if it presented, or from‘00:00:00:00’ to ‘00:00:00:00’ in Title 1.

The src attribute shall refer to Disc, or Persistent Storage. Disc orPersistent Storage are identified by URI [FIG. 20].

(a) src attribute

Describes the URI for the Archiving Data, or a file to be load into DataCache. The URI shall not refer to API Managed Area of File Cache, orNetwork.

(b) size attribute

Describes the size of the Archiving Data, or a file in bytes. Thisattribute can be omitted.

(c) multiplexed attribute

If value is ‘true’, the Archiving Data can be loaded from ADV_PCK ofP-EVOB in the loading period. If the value is ‘true’, the First PlayTitle shall be described. The loading period of Playlist ApplicationAssociated Resource is the Title duration of the First Play Title. Ifthe value is ‘false’, Player shall preload the resource from thespecified URI. This attribute can be omitted. Default value is ‘true’.

(d) description attribute

Describes additional information in the human consumable text form. Thisattribute can be omitted.

More intelligible explanations will be provided below.

Management information concerning a playlist application resource PLAPRSis written in a playlist application resource element PLRELE whosedetailed configuration is shown in (d) of FIG. 69B. A packaged archivefile or archive data used in a playlist associated advanced applicationPLAPL corresponds to the playlist application resource PLAPRS. Theplaylist application resource element PLRELE specifies (defines)archiving data or an archiving file which should be downloaded in thefile cache FLCCH. The src attribute information indicative of a storageposition SRCDTC of data or a file which is downloaded into the datacache is written in the form of a URI (a uniform resource identifier),and can make reference to archiving data or an archiving file stored inthe information storage medium DISC or a persistent storage PRSTR. Inthis embodiment, an API management region in the file cache or aposition in the network must not be specified as the storage positionSRCDTC (src attribute information) of data or a file which is downloadedinto the corresponding data cache. Preventing data stored in the networkserver NTSRV in the network from being specified guarantees completionof downloading a playlist application resource PLAPRS within a downloadperiod LOADPE. As a result, download of the playlist applicationresource PLAPRS is completed during playback of the first play titleFRPLTT. A network throughput in a network environment of the informationrecording and playback apparatus 1 greatly depends on a networkenvironment of a user. For example, when data is transferee by using amodem (a telephone line) in the network environment, a networkthroughput is very low. When download of a playlist application resourcePLAPRS is attempted in such a network environment, it is very difficultto complete download during playback of a first play title FRPLTT. Thisembodiment is characterized in that download from the network serverNTSRV is prohibited and such a risk is eliminated. Further, althoughsize information DTFLSZ (size attribute information) of the data or thefile which is loaded into the data cache is written in bytes, adescription of the attribute information can be eliminated. Furthermore,when a value of multiplexed attribute information MLTPLX is “true”,corresponding archiving data must be loaded from an advanced packADV_PCK in primary enhanced video object data P-EVOB within a loadingperiod LOADPE (see (d) of FIG. 73A). Moreover, in this case (in case of“true”), first play title element information FPTELE which manages afirst play title FRPLTT must be written in a playlist PLLST. When thefirst play title element information FPTELE is written in the playlistPLLST in this manner, a loading period LOADPE of a playlist applicationresource PLAPRS corresponds to a playback period of the first play titleFRPLTT. Additionally, when a value of the multiplexed attributeinformation MLTPLX is “false”, the advanced content playback unit ADVPLmust preload a corresponding resource from a position specified by thesrc attribute information. Further, although a description of themultiplexed attribute information MLTPLX can be eliminated, a value ofthe multiplexed attribute information MLTPLX is automatically set to“true” in such a case. Furthermore, additional information concerningthe playlist application resource PLAPRS is written in a text formatfamiliar to people, but a description of the additional information canbe eliminated.

playlist application element information PLAELE having a dataconfiguration depicted in (c) of FIG. 69B manages a playlist associatedadvanced application PLAPL. Moreover, a resource referred (used) by theplaylist associated advanced application PLAPL is managed by a playlistapplication resource element PLRELE having a data configuration shown in(d) of FIG. 69B. Additionally, an advanced subtitle segment elementADSTSG having a data configuration shown in (c) of FIG. 56B manages anadvanced subtitle ADSBT, and an application segment element APPLSGhaving a data configuration shown in (d) of FIG. 56B manages an advancedapplication ADAPL. Further, a resource referred (used) by the advancedsubtitle ADSBT or the advanced application ADAPL is called anapplication resource APRSRC, and managed by an application resourceelement APRELE having a data configuration shown in (d) of FIG. 63C.Furthermore, a title resource element having a data configuration shownin (d) of FIG. 66B manages a title resource TTRSRC. The title resourceTTRSRC is referred (used) by a title associated advanced applicationTTAPL. The application segment element APPLSG corresponds to informationwhich manages the title associated advanced application TTAPL. Arelationship (a difference) between the playlist application resourcePLAPRS, the title resource TTRSRC and the application resource APRSRCmentioned above will now be described with reference to FIGS. 70 and 71.Moreover, a relationship (a difference) between the playlist associatedadvanced application PLAPL, the title associated advanced applicationTTAPL and the advanced application ADAPL will be also described withreference to FIGS. 70 and 71. In the embodiment shown in FIG. 70, adescription is given as to playback from a title #1, but it is often thecase that a first play title FRPLTT shown in FIG. 17 is first set priorto the title #1. According to this embodiment, in a use example wherethe playlist associated advanced application PLAPL is used and loadingof a playlist application resource PLAPRS used in this application PLAPLinto the file cache FLCCH is completed before playback of the title #1,the first play title FRPLTT must be played back (at the very beginning)at the time of start of playback of the playlist PLLST as shown in FIG.17. Therefore, the explanatory view of FIG. 70 assumes that the firstplay title FRPLTT is played back prior to playback of the title #1, andeliminates a playback period of the first play title FRPLTT. As shown inFIG. 70, the playlist associated advanced application PLAPL can beexecuted (displayed) in all titles except the first play title FRPLTT.That is, an execution (display) period APACPE of the playlist associatedadvanced application PLAPL spreads to playback periods of all titlesexcept the first play title FRPLTT. In comparison to this, the titleassociated advanced application TTAPL is effective in the same titlealone as shown in FIG. 70. Therefore, an execution (display) periodAPACE of the title associated advanced application TTAPL spreads from atime “T3” on a title timeline TMLE in the same title (which means atitle #2 in the embodiment shown in FIG. 70) to end of the title. Incomparison with this configuration, as shown in FIG. 70, an execution(display) period APACPE of the advanced application ADAPL is set in aspecific period restricted in the same title. In this embodiment, theplaylist associated advanced application PLAPL and the title associatedadvanced application TTAPL belong to an extensive advanced applicationADAPL, and the playlist associated advanced application PLAPL and thetitle associated advanced application TTAPL are defined as special casesin the extensive advanced application ADAPL. FIG. 71 shows arelationship between various kinds of resources referred (used) by thevarious kinds of advanced applications ADAPL. A playlist applicationresource PLAPRS means a resource which is equally used by an arbitraryadvanced application ADAPL while cutting across titles. The playlistapplication resource PLAPRS can be referred (used) by not only theplaylist associated advanced application PLAPL but also the titleassociated advanced application TTAPL or the advanced application ADAPL.The playlist application resource PLAPRS is loaded into the file cacheFLCCH in a playback period of a first play title FRPLTT as describedabove, and kept being stored in the file cache FLCCH over playbackperiods of a plurality of titles until the advanced contents ADVCT arefinished. Therefore, the playlist application resource PLAPRS is in avalid period APVAPE in playback periods and between the playback periods(a position α and a position β) of all titles except the first playtitle FRPLTT in the file cache FLCCH. As a result, the playlistassociated advanced application PLAPL which refers (uses) the playlistapplication resource PLAPRS can be equally used (displayed for a user)between different titles. A resource element name in the playlist PLLSTwhich manages the playlist application resource PLAPRS becomes aplaylist application resource element PLRELE having a data configurationshown in (d) of FIG. 69B. In this embodiment, when the playlistapplication resource PLAPRS is set and the playlist associated advancedapplication PLAPL which refers (uses) this resource is set, the playlistassociated advanced application PLAPL can be continuously displayed fora user during transition between different titles (a period α and aperiod β in FIG. 70). Further, the loading period of the playlistapplication resource PLAPRS into the file cache FLCCH is not necessaryduring periods except a playback period of the first play title FRPLTT,and hence there can be obtained an effect that display can be started orswitched at a high speed. Furthermore, the title resource TTRSRC can benot only referred (used) by the title associated advanced applicationTTAPL and the advanced application ADAPL in a title, but also it can beshared by a plurality of advanced applications ADAPL in the same title.A resource element name in a playlist PLLST which manages the titleresource TTRSRC is a title resource element having a data configurationshown in (d) of FIG. 66B. A timing of storing the title resource TTRSRCin the file cache FLCCH will now be described. As shown in (d) of FIG.66B, a time PRLOAD (loadingBegin attribute information) on a titletimeline at which fetching (loading) a target resource into a titleresource element begins can be set. When the time PRLOAD (loadingBeginattribute information) on the title timeline at which fetching (loading)the target resource into the title resource element begins is written,loading is started at such a timing as shown in FIG. 65A. That is, avalue of the time PRLOAD on the title timeline at which fetching(loading) of the target resource begins is indicative of a time ahead ofa value of a start time TTSTTM (titleTimeBegin attribute information) ona title timeline of a corresponding resource, and loading starts at atime which is earlier than an execution start time of the title resourceTTRSRC. On the other hand, when a description of the time PRLOAD(loadingBegin attribute information) on the title timeline at whichfetching (loading) of a target resource begins shown in (d) of FIG. 66Bis eliminated, loading is started at a timing of the start time TTSTTMon the title timeline as shown in FIG. 65B, and an execution periodAPACPE of a title associated advanced application TTAPL which refers(uses) the title resource TTRSRC begins immediately after completion ofloading. The embodiment shown in FIG. 70 has been described based on themethod depicted in FIG. 65B. As shown in FIG. 70, after completion ofthe title #2, the title resource TTRSRC enters a state of the non-existperiod N-EXST to remove data from the file cache. That is, although thetitle resource TTRSRC is kept being stored in the file cache FLCCH aslong as a playback target title is not changed, it is removed from thefile cache FLCCH when the playback target title is changed (shifted toanother title). When the title resource TTRSRC is utilized, continuousdisplay in the same title becomes possible. Further, in a case wherecontents are constituted of a plurality of titles, a title is removedfrom the file cache FLCCH when shifted to another title, therebyeffectively utilizing the file cache FLCCH. Furthermore, an applicationresource APRSRC is a resource which is uniquely used in accordance witheach advanced application ADAPL, and utilized in a specific advancedapplication ADAPL alone in a title. An application resource elementAPRELE corresponds to a resource element name in a playlist PLLST whichmanages the application resource APRSRC as shown in (d) of FIG. 63C. Atime PRLOAD (loadingBegin attribute information) on a title timeline atwhich fetching (loading) of a target resource begins can be written inthe application resource element APRELE as shown in (d) of FIG. 63C.When the loadingBegin attribute information is written, a loading timinginto the file cache FLCCH is a timing shown in FIG. 65A. On thecontrary, when the loadingBegin attribute information is not written,loading into the file cache FLCCH is effected at a timing shown in FIG.65B. Moreover, when this information is written, a value of theloadingBegin attribute information is set to a time which is ahead of avalue of a start time TTSTTM (titleTimeBegin attribute information) on atitle timeline set in a parent element (an advanced subtitle segmentelement ADSTSG or an application segment element APPLSG) to which theapplication resource element APRELE belongs. A loading timing of theapplication resource APRSRC into the file cache FLCCH shown in FIG. 70is based on FIG. 65B. As shown in FIG. 70, after end of an execution(display) period APACPE of an advanced application ADAPL #C which refers(uses) the application resource APRSRC, the non-exist period N-EXST toremove data from the file cache begins. That is, the applicationresource APRSRC is stored in the file cache FLCCH before use (execution)of each advanced application ADAPL, and it is removed from the filecache FLCCH after use (execution) of the advanced application ADAPL. Inthis embodiment, utilizing the application resource APRSRC allowsremoval of a corresponding resource after use (execution) of a specificadvanced application ADAPL, thereby obtaining an effect that the filecache FLCCH can be effectively utilized. As a result, there can beacquired a merit that a necessary memory size of the file cache FLCCHcan be reduced and hence a price of the apparatus can be decreased.

More specific contents concerning contents shown in FIGS. 70 and 71 willnow be described with reference to a display screen example depicted inFIG. 72. As shown in FIG. 70, in playback of the title #2, primaryenhanced video object data P-EVOB #1 which is used to display a primaryvideo set PRMVS is played back, and a playlist associated advancedapplication PLAPL is simultaneously displayed. A display screen exampleat this time is represented by a symbol γ and shown in FIG. 72(a). Asillustrated in FIG. 72, the title #1 (main title) represents primaryenhanced video object data P-EVOB #1, and a screen in which variouskinds of buttons from a stop button 34 to an FF button 38 displayed on alower side of the screen are arranged is displayed by the playlistassociated advanced application PLAPL. The screen shown in FIG. 72(d) isequally displayed in a display screen 6 illustrated in FIG. 72(b) and adisplay screen E depicted in FIG. 72(c). That is, the screen displayedby the playlist associated advanced application PLAPL shown in FIG.72(d) is a screen shared by different titles, and functions demonstratedin this screen are also shared. A still image IMAGE constituting thescreen and a script SCRPT, a manifest MNFST and a markup MRKUP realizingfunctions serve as a playlist application resource PLAPRS. In a playlistapplication resource element PLRELE which manages the playlistapplication resource PLAPRS and has a data configuration shown in (d) ofFIG. 69B, a value of multiplexed attribute information MLTPLX is “true”in the example shown in FIG. 72(d). In this case, as apparent from theillustrations of FIGS. 73A and 73B, the playlist application resourcePLAPRS is multiplexed and stored in primary enhanced video object dataP-EVOB #0 which is used when playing back a first play title FRPLTT. Asshown in (c) of FIG. 69B, Z-order attribute (Z-index) information ZORDERexists in playlist application element information PLAELE which managesa playlist associated advanced application PLAPL which refers (uses) theplaylist application resource PLAPRS, and a value of this information isset to “1” in the example shown in FIG. 72(d). Since the playlistapplication resource PLAPRS is equally used (displayed) betweendifferent resources, when it overlaps, e.g., a screen displayed in atitle associated advanced application TTAPL or a screen displayed in anadvanced application ADAPL in the display screen, it is desirable forthe screen of this resource to be displayed below such a screen.Therefore, in the embodiment shown in FIG. 72(d), a value of the Z-orderattribute (Z-index) information ZORDER is set to a low value. Then, inplayback of the title #2 shown in FIG. 70, primary enhanced video objectdata P-EVOB #2 which is used to display a primary video set PRMVS, aplaylist associated advanced application PLAPL and a title associatedadvanced application TTAPL are simultaneously displayed when a time on atitle timeline TMLE is between “T4” and “T2”. A screen at this moment isindicated by a display screen ε and shown in FIG. 72(c). That is, ascreen displayed by the title associated advanced application TTAPLmeans navigating animation 55 shown in FIG. 72(f). In recent WindowsOffice, a dolphin character appears as help animation to support usage.Likewise, the navigating animation 55 shown in FIG. 72(f) can be used toguide screen operations. Furthermore, the present invention is notrestricted thereto, and the navigating animation 55 can be used forexplanation of screen contents displayed in the title #2 (main title).The navigating animation 55 shows screens or functions equally used inthe same title (i.e., title #2), and uses a title resource TTRSRC. Asshown in (d) of FIG. 66B, multiplexed attribute information MLTPLXexists in a title resource element which manages the title resourceTTRSRC, and a value of this information is set to “false” in theembodiment shown in FIG. 72(f). That is, this case means that the titleresource TTRSRC is not multiplexed in the form of an advanced packADV_PCK but stored at a specified position in the form of a specificfile. As described in conjunction with FIGS. 70 and 71, when a playbackposition has shifted from the title (i.e., title #2) where the titleresource TTRSRC is used to another title, the title resource TTRSRC canbe eliminated from the file cache FLCCH. Priorities of removal at thismoment are specified by priority information PRIORT (priority attributeinformation) with respect to removal of a corresponding resource shownin (d) of FIG. 66B. As shown in (d) of FIG. 66B, since removal isperformed from a resource having the higher value by priority, a value“8” in the embodiment shown in FIG. 72(f) means that removal can beperformed on a relatively earlier stage. When a time on a title timelineTMLE during playback of the title #2 shown in FIG. 72(f) is between “T3”and “T4”, screens of the primary enhanced video object data P-EVOB #2displaying the primary video set PRMVS, the playlist associated advancedapplication PLAPL, the title associated advanced application TTAPL andthe advanced application ADAPL are combined and displayed, and FIG.72(b) shows a display screen δ at this moment. As shown in FIG. 72(e),the screen displayed by the advanced application shows a languageselection menu 54. A screen or a function which becomes valid in aspecific advanced application alone shown in FIG. 72(e) is realized byutilizing an application resource APRSCR. As shown in (d) of FIG. 63C,multiplexed attribute information MLTPLX can be written in anapplication resource element APRELE which manages the applicationresource APRSRC. In the embodiment shown in FIG. 72(e), a value of thisinformation is set to “false”, and this means that the applicationresource APRSRC is not multiplexed and stored in the form of an advancedpack ADV_PCK but solely exists as a specific file. Moreover, a value ofpriority information PRIORT (priority attribute information) for removalof a corresponding resource specified in the application resourceelement APRELE is set as a value “2”. As shown in (d) of FIG. 63C, sinceremoval is performed from a resource having the higher value, the value“2” means that its resource is stored in the file cache FLCCH as long aspossible. Since the priority attribute value is set to “8” in FIG. 72(f)and this value is set to “2” in FIG. 72(e), it seems that removal can beperformed from a resource of the navigating animation 55 shown in FIG.72(f) when the priority attribute values alone are compared. However, asdescribed above in conjunction with FIGS. 64A and 64B, since a prioritylevel of the application resource APRSRC is lower than a priority levelof the title resource TTRSRC, the application resource APRSRCcorresponding to the language selection menu 54 shown in FIG. 72(e) isactually removed from the file cache FLCCH by priority. The autorunattribute information ATRNAT can be written in an application segmentelement APPLSG which is a parent element including an applicationresource element APRELE which manages the application resource APRSRC.In the embodiment shown in FIG. 72(e), a value of this information isset to “true”, and loading of the application resource APRSRC beginssimultaneously with start of playback of the title #2 as shown in FIG.70. Additionally, in the embodiment shown in FIG. 70, as a loadingmethod of the application resource APRSRC, a method shown in FIG. 65(c)is adopted. Further, in the embodiment shown in FIG. 72(e), a value ofsynchronization attribute information SYNCAT (sync attributeinformation) of a playback/display object included in (d) of FIG. 56B isset to “soft”. Therefore, in the embodiment shown in FIG. 70, althoughloading of the application resource APRSRC begins simultaneously withstart of playback of the title #2, time progress on a title timelineTMLE is continued without displaying the screen shown in FIG. 72(e) to auser when loading of the application resource APRSRC is not completedeven though a time “T3” on the title timeline TMLE at which a loadingscheduled period LOADPE is terminated has been reached, and the languageselection menu 54 is displayed only after completion of loading.Furthermore, in the embodiment shown in FIG. 72(e), a value of Z-orderattribute (Z-index) information ZORDER shown in (d) of FIG. 56B is setto “5”, and it is larger than a value “1” of the same attributeinformation shown in FIG. 72(d). Therefore, if a screen of variousbuttons shown in FIG. 72(d) and a display position of a screen of thelanguage selection menu 54 shown in FIG. 72(e) partially overlap in thedisplay screen, the language selection menu 54 having a larger value ofthe Z-order attribute (Z-index) information ZORDER is displayed on theupper side. When screens to be displayed in different advancedapplications ADAPL overlap each other on the same screen, setting avalue of the Z-order attribute (Z-index) information ZORDER canautomatically set a screen which is displayed on the upper side, therebyimproving the expression of a content provider for a user.

A first play title FRPLTT shown in (a) of FIG. 73A represents a titlewhich is played back/displayed for a user first, and it is managed byfirst play title element information FPTELE in title information TTINFOin a playlist PLLST as shown in (c) of FIG. 74B. Furthermore, in regardto a playlist associated advanced application PLAPL, as shown in FIG.70, its execution (display) period APACPE is assured over a plurality oftitles, and this application can be displayed/executed in an arbitrarytitle except the first play title FRPLTT. Moreover, a resource referred(used) by the playlist associated advanced application PLAPL is called aplaylist application resource PLAPRS. This embodiment is characterizedin that loading of the playlist application resource PLAPRS into thefile cache FLCCH is completed during playback of the first play titleFRPLTT. As a result, display/execution of the playlist associatedadvanced application PLAPL can be started at the time of start ofplayback of an arbitrary title other than the first play title FRPLTT.In the embodiment shown in (a) of FIG. 73A, primary enhanced videoobject data P-EVOB #1 is played back at the time of playback of thefirst play title FRPLTT. This period becomes a loading period LOADPE ofthe playlist application resource PLAPRS. As a result, storage of theplaylist application resource PLAPRS in the file cache FLCCH iscompleted at a playback end time (a time “T0” on a title timeline TMLE)of the first play title FRPLTT. As a result, at a playback start time ofa title #1, a playlist associated advanced application PLAPL can beplayed back simultaneously with the primary enhanced video object dataP-EVOB #1. As acquisition paths of a playlist application resourcePLAPRS ((b) of FIG. 73A) which is stored in the file cache FLCCH, thereare a plurality of paths, i.e., a path A, a path B and a path C as shownin FIG. 73A. In the path A according to this embodiment, the playlistapplication resource PLAPRS is multiplexed in a primary enhanced videoobject P-EVOB #0 utilized for playback of a first play title FRPLTT.That is, a playlist application resource PLAPRS is divided into eachdata consisting of 2048 bytes, and packed in an advanced pack ADV_PCKevery 2048 bytes. The advanced pack ADV_PCK is multiplexed with othermain audio pack AM_PCK, main video pack VM_PCK, sub-picture pack SP_PCKand others to constitute primary enhanced video object data P-EVOB. Aplaylist application resource PLAPRS used in the playlist applicationelement information PLAELE is managed by a playlist application resourceelement PLRELE as shown in (d) of FIG. 69B. Multiplexed attributeinformation MLTPLX exists in the playlist application resource elementPLRELE as shown in (d) of FIG. 69B. Whether the acquisition path of theplaylist application resource PLAPRS shown in (b) of FIG. 73A goesthrough the path A or the later-described path B or path C can be judgedbased on a value of the multiplexed attribute information MLTPLX. Thatis, when a value of the multiplexed attribute information MLTPLX is“true”, the path A is used to acquire a corresponding playlistapplication resource PLAPRS as shown in FIGS. 73A and 73B. When a valueof the multiplexed attribute information MLTPLX is “true”, a storageposition SRCDTC of data or a file which is downloaded into the datacache is indicative of a storage position of a primary enhanced videoobject P-EVOB #0 which displays a first play title FRPLTT shown in (a)of FIG. 73A. In this case, management information of the first playtitle FRPLTT is displayed, and a primary audio video clip element PRAVCPis arranged in first play title element information FPTELE shown in (c)of FIG. 74B. A storage position (a path) and a file name of a time mapPTMAP of the primary enhanced video object data P-EVOB #0 which displaysthe first play title FRPLTT shown in (a) of FIG. 73A are written in anindex information file storage position SRCTMP (src attributeinformation) of a playback/display object which is shown in (c) of FIG.54B and should be referred in the primary audio video clip elementPRAVCP arranged in the playlist application element information PLAELE.Although the storage position (the path) and the file name alone of thetime map PTMAP are written in the primary audio video clip elementPRAVCP, a storage position (a path) of the corresponding primaryenhanced video object data P-EVOB #0 matches with the storage position(a path) of the time map PTMAP in this embodiment, and a file name ofthe primary enhanced video object data P-EVOB #0 file matches with thatof the time map PTMAP (however, their extensions “.MAP” and “EV0” aredifferent from each other), thereby facilitating access to the primaryenhanced video object data P-EVOB #0 file. Additionally, when a value ofthe multiplexed attribute information MLTPLX in the playlist applicationresource element PLRELE shown in (d) of FIG. 69B is “false”, a path (thepath B or the path C) different from the path A shown in FIG. 73A isused to load the playlist application resource PLAPRS into the filecache FLCCH. That is, in the path B, the playlist application resourcefile PLRSFL is stored in the information storage medium DISC, and datais played back from the information storage medium DISC simultaneouslywith playback of the primary enhanced video object P-EVOB #0 which isused to display the first play title FRPLTT, and the data is stored inthe file cache FLCCH. Further, in the path C, the playlist applicationresource file PLRSFL is stored in the persistent storage PRSTR, and theplaylist application resource file PLRSFL stored in the persistentstorage PRSTR is loaded into the file cache FLCCH concurrently withplayback of the first play title FRPLTT. If the playlist applicationresource file PLRSFL is stored in the network server NTSRV, there is arisk that a network trouble occurs during download and loading data intothe file cache FLCCH cannot be completed before end of playback of thefirst play title FRPLTT. Therefore, this embodiment is considerablycharacterized in that a storage position of the playlist applicationresource file PLRSFL is set outside the network server NTSRV toguarantee completion of loading during a playback period of the firstplay title FRPLTT. This embodiment is remarkably characterized in thatthe multiplexed attribute information MLTPLX is arranged (written) inthe playlist application resource element PLRELE in this manner. As aresult, preliminary preparation of a demultiplexer DEMUX in the primaryvideo player PRMVP shown in FIG. 36 can be performed, thereby reducing aloading period LOADPE of the playlist application resource PLAPRS.Furthermore, this embodiment sets many restricting conditions, e.g.,setting the number of video tracks and the number of audio tracks as onewith respect to the first play title FRPLTT, thus further assuringcompletion of loading during a playback period of the first play titleFRPLTT.

<FirstPlay Title (i.e., First Play Title)>

TitleSet element may contain a FirstPlayTitle element. FirstPlayTitleelement describes the First Play Title.

First Play Title is a special Title:

(a) First Play Title shall be played before the Title 1 playback ifpresented.

(b) First Play Title consists of only one or more Primary Audio Videoand/or Substitute Audio Video.

(c) First Play Title is played from the start to the end of TitleTimeline in normal speed only.

(d) Only Video Track number 1 and Audio Track number 1 is played duringthe First Play Title.

(e) Playlist Application Associated Resource may be loaded during theFirst Play Title.

In FirstPlayTitle element the following restrictions shall be satisfied:

-   -   FirstPlayTitle element contains only PrimaryAudioVideoClip        and/or SubstituteAudioVideoClip elements.    -   Data Source of SubstituteAudioVideoClip element shall be File        Cache, or Persistent Storage.    -   Only Video Track number and Audio Track number may be assigned,        and Video Track number and Audio Track number shall be ‘1’.        Subtitle, Sub Video and Sub Audio Track number shall not        assigned in First Play Title.    -   No title Number, parental Level, type, tick Base Divisor,        selectable, display Name, onEnd and description attributes.

First Play Title may be used for the loading period of the PlaylistApplication Associated Resource. During the First Play Title playback,the Playlist Application Associated Resource may be loaded from P-EVOBin Primary Audio Video as multiplexed data if the multiplexed flag inthe PlaylistApplicationResource element is set.

More intelligible explanations will be provided below.

In this embodiment, first play title element information FPTELE existsin a title set element (title information TTINFO). That is,configuration information CONFGI, media attribute information MDATRI andtitle information TTINFO exist in a play title PLLST as shown in (a) ofFIG. 74A, and the first play title element information FPTELE isarranged at a first position in the title information TTINFO as shown in(b) of FIG. 74A. Management information concerning a first play titleFRPLTT is written in the first play title element information FPTELE.Moreover, as shown in FIG. 17, the first play title FRPLTT is regardedas a special title. In this embodiment, the first play title elementinformation FPTELE has the following characteristics.

-   -   When the first play title FRPLTT exists, the first play title        FRPLTT must be played back before playback of a title #1.    -   That is, prior to playback of the title #1, playing back the        first play title FRPLTT at the start assures a time to download        a playlist application resource PLAPRS.    -   The first play title FRPLTT must be constituted of one or more        pieces of primary audio video PRMAV and subtitle audio video (or        either one of these types of video).    -   Restricting types of playback/display objects constituting the        first play title FRPLTT in this manner facilitates loading        processing of an advanced pack ADV_PCK multiplexed in the first        play title FRPLTT.    -   The first play title FRPLTT must be kept being played back from        a start position to an end portion on a title timeline TMLE at a        regular playback speed.    -   When all of the first play title FRPLTT is played back at a        standard speed, a download time of a playlist application        resource PLAPRS can be assured, and a playback start time of a        playlist associated advanced application PLAPL in another title        can be shortened.    -   In playback of the first play title FRPLTT, a video track number        1 and an audio track number 1 alone can be played back.    -   Restring the number of video tracks and the number of audio        tracks in this manner can facilitate download from an advanced        pack ADV_PCK in primary enhanced video object data P-EVOB        constituting the first play title FRPLTT.    -   A playlist application resource PLAPRS can be loaded during        playback of the first play title FRPLTT.

Additionally, in this embodiment, the following restrictions must besatisfied with respect to the first play title element informationFPTELE.

-   -   The first play title element information FPTELE includes a        primary audio video clip element PRAVCP or a substitute audio        video clip element SBAVCP alone.    -   A data source DTSORC defined by the substitute audio video clip        element SBAVCP is stored in the file cache FLCCH or the        persistent storage PRSTR.    -   A video track number and an audio track number alone can be set,        and both the video track number and the audio track number        ADTKNM must be set to “1”. Further, a subtitle, sub video and        sub audio track numbers must not be set in the first play title        FRPLTT.    -   Title number information TTNUM shown in (b) of FIG. 24A, parenta        level information (parentaLevel attribute information), title        type information TTTYPE, a damping ratio TICKDB of a processing        clock with respect to an application tick clock in the advanced        application manager, a selection attribute: a user operation        response enabled/disabled attribute (selectable attribute        information), title name information displayed by the        information playback apparatus, number information (onEnd        attribute information) of a title which should be displayed        after end of this title, and attribute information concerning        the title (description attribute information) are not written in        the first play title element information FPTELE.

A playback period of the first play title FRPLTT can be used as aloading period LOADPE of a playlist application resource PLAPRS. Whenmultiplexed attribute information MLTPLX in a playlist applicationresource element PLRELE shown in (d) of FIG. 69B is set to “true”, amultiplexed advanced pack ADV_PCK can be extracted from primary enhancedvideo object data P-EVOB in primary audio video PRMAV and loaded intothe file cache FLCCH as a playlist application resource PLAPRS as shownin (d) of FIG. 73A.

<FirstPlayTitle (First Play Title) Element>

The FirstPlayTitle element describes information of a First Play Titlefor Advanced Contents, which consists of Object Mapping Information andTrack Number Assignment for elementary stream.

XML Syntax Representation of FirstPlayTitle element:   <FirstPlayTitle  titleDuration = timeExpression   alternativeSDDisplayMode =(panscanOrLetterbox | panscan | letterbox)   xml:base = anyURI   >    (PrimaryAudioVideoClip |     SubstituteAudioVideoClip) *  </FirstPlayTitle>

The content of FirstPlayTitle element consists of list of PresentationClip element. Presentation Clip elements are PrimaryAudioVideoClip andSubstituteAudioVideoClip.

Presentation Clip elements in FirstPlayTitle element describe the ObjectMapping Information in the First Play Title.

The dataSource of SubstituteAudioVideoClip element in First Play Titleshall be either File Cache, or Persistent Storage.

Presentation Clip elements also describe Track Number Assignment forelementary stream. In First Play Title, only Video Track and Audio Tracknumber are assigned, and Video Track number and Audio Track number shallbe ‘1’. Other Track Number Assignment such as Subtitle, Sub Video andSub Audio shall not be assigned.

(a) titleDuration attribute

Describes the duration of the Title Timeline. The attribute value shallbe described by timeExpression. The end time of all Presentation Objectshall be less than the duration time of Title Timeline.

(b) alternativeSDDisplayMode attribute

Describes the permitted display modes on 4:3 monitor in the First PlayTitle playback. ‘panscanOrLetterbox’ allows both Pan-scan and Letterbox,‘panscan’ allows only Pan-scan, and ‘letterbox’ allows only Letterboxfor 4:3 monitor. Player shall output into 4:3 monitor forcedly inallowed display modes. This attribute can be omitted. The default valueis ‘panscanOrLetterbox’.

(c) xml:base attribute

Describes the base URI in this element. The semantics of xml: base shallfollow to XML-BASE.

More intelligible explanations will be provided below.

Management information of the first play title FRPLTT with respect toadvanced contents ADVCT is written in first playtitle elementinformation FPTELE whose detailed configuration is shown in (c) of FIG.74B. Further, object mapping information OBMAPI and track numbersettings (track number assignment information) with respect to anelementary stream are also configured in the first play title elementinformation FPTELE. That is, as shown in (c) of FIG. 74B, a primaryaudio video clip element PRAVCP and a substitute audio video clipelement SBAVCP can be written in the first playtitle element informationFPTELE. Written contents of the primary audio video clip element PRAVCPand the substitute audio video clip element SBAVCP constitute a part ofthe object mapping information OBMAPI (including the track numberassignment information). In this manner, contents of the first playtitle element information FPTELE are constituted of a list ofdisplay/playback clip elements (a list of primary audio video clipelements PRAVCP and substitute audio video clip elements SBAVCP).Furthermore, a data source DTSORC used in a substitute audio video clipelement SBAVCP in the first play title FRPLTT must be stored in eitherthe file cache FLCCH or the persistent storage PRSTR. A playback/displayclip element formed of a primary audio video clip element PRAVCP or asubstitute audio video clip element SBAVCP describes track numberassignment information (track number setting information) of anelementary stream. In (c) of FIG. 74B, time length information TTDUR(titleDuration attribute information) of an entire title on a titletimeline is written in a format “HH:MM:SS:FF”. Although an end time of aplayback/display object displayed in the first play title FRPLTT isdefined by an end time TTEDTM (titleTimeEnd attribute information) onthe title timeline in a primary audio video clip element PRAVCP as shownin (c) of FIG. 54B and an end time TTEDTM (titleTimeEnd attributeinformation) on the title timeline in a substitute audio video clipelement SBAVCP as shown in (c) of FIG. 55B, a value of the end timeTTEDTM on all the title timelines must be set by a value smaller than avalue set in the time length information TTDUR (titleDuration attributeinformation) of an entire title on the title timeline. As a result, eachplayback/display object can be consistently displayed in the first playtitle FRPLTT. Allowable display mode information SDDISP (alternativeSDDisplay Mode attribute information) on a 4:3 TV monitor will now bedescribed. The allowable display mode information on the 4:3 TV monitorrepresents a display mode which is allowed at the time of display in the4:3 TV monitor in playback of the first play title FRPLTT. When a valueof this information is set to “Panscan Or Letterbox”, both a panscanmode and a letterbox mode are allowed at the time of display in the 4:3TV monitor. Moreover, when a value of this information is set to“Panscan”, the panscan mode alone is allowed at the time of display inthe 4:3 TV monitor. Additionally, when “Letterbox” is specified as thisvalue, display in the letterbox mode alone is allowed at the time ofdisplay in the 4:3 TV monitor. The information recording and playbackapparatus 1 must forcibly perform screen output to the 4:3 TV monitor inaccordance with the set allowable display mode. In this embodiment, adescription of this attribute information can be eliminated, but“Panscan Or Letterbox” as a default value is automatically set in such acase. Further, a storage position FPTXML (xml: base attributeinformation) of a main (basic) resource used in the first play titleelement is written in the form of a URI (a uniform resource identifier)in the first play title element information FPTELE.

As shown in (a) of FIG. 75A, configuration information CONFGI, mediaattribute information MDATRI and title information TTINFO exist in aplaylist PLLST. As shown in (b) of FIG. 75A, the title informationTTINFO is constituted of a list of first play title element informationFPTELE, one or more pieces of title element information TTELEM andplaylist application element information PLAELE. Furthermore, as shownin (c) of FIG. 75A, object mapping information OBMAPI (including tracknumber assignment information), resource information RESRCI, playbacksequence information PLSQI, track navigation information TRNAVI andscheduled control information SCHECI are written as a data configurationin the title element information TTELEM. The scheduled controlinformation SCHECI shown in (c) of FIG. 75A will now be described.

<ScheduledControlList (Scheduled Control List) Element and ScheduledControl>

-   -   ScheduledControlList element describes following Scheduled        Control in Title playback:    -   Scheduled Pause of Title Timeline at the specified time    -   Event Firing for Advanced Application at the specified time

The positions of PauseAt and Event elements in a Title Timelinedescribed in a ScheduledControlList element shall be monotonicallyincreased according to the document order in ScheduledControlListelement.

The positions shall not be same to others in a ScheduledControlListelement.

Note: Even though event firing is scheduled, Advanced Application mayhandle the event after the described time, because the script executiontime is not guaranteed.

More intelligible explanations will be provided below.

The scheduled control information SCHECI is constituted of a scheduledcontrol list element. Management information about the followingscheduled control at the time of playback of a title is written in thescheduled control list element.

-   -   Scheduled pause at a specified time on a title timeline TMLE        (pause processing)    -   Event execution processing for an advanced application ADAPL at        a specified time

The scheduled control information SCHECI constituted of the scheduledcontrol list element is formed of a list of a pause-at element PAUSELand an event element EVNTEL as shown in (d) of FIG. 75B. The pause-atelement PAUSEL and the even element EVNTEL which are written in thescheduled control list element and subjected to time setting based onthe title timeline TMLE are sequentially arranged from a leadingposition (a front position) in the scheduled control list element inaccordance with an order along progress of specified position (time)information TTTIME on the title timeline specified by each pause-atelement PAUSEL and each event element EVNTEL. That is, a value of thespecified position (time) information TTTIME on the title timelinespecified by each of the pause-at element PAUSEL and the event elementEVNTEL which are sequentially written from the front position in thescheduled control list element is indicative of a sequential increase inelapsed time according to the arrangement order. When the pause-atelement PAUSEL and the event element EVNTEL are sequentially arranged inline with time progress on the title timeline TMLE in the scheduledcontrol list element in this manner, the playlist manager PLMNG in thenavigation manager NVMNG shown in FIG. 28 can perform executionprocessing in line with time progress on the title timeline TMLE by justeffecting execution processing in the arrangement order of therespective elements written in the schedule control list element. As aresult, schedule management processing by the playlist manager PLMNG canbe extremely facilitated. Different pieces of specified position (time)information TTTIME on the title timeline specified by different pause-atelements PAUSEL or different even elements EVNTEL in the scheduledcontrol list element must not overlap each other. Moreover, thespecified position (time) information TTTIME on the title timelinespecified by the pause-at element PAUSEL and the specified position(time) information TTTIME on the title timeline specified by the evenelement EVNTEL must not overlap each other. That is because, when avalue of the specified position (time) information TTTIME on the titletimeline specified by a pause-at element PAUSEL #1 matches with a valueof the specified position (time) information TTTIME on the titletimeline specified by the even element EVNTEL #1 in a descriptionexample shown in (d) of FIG. 75B, for instance, the playlist managerPLMNG shown in FIG. 28 cannot decide which one of pause-at (pause)processing and event execution processing for an advanced applicationADAPL should be selected, and processing of the playlist manager PLMNGfails.

In this embodiment, there is a case where a script SCRPT is activated toperform complicated processing during execution (during playback) of anadvanced application ADAPL. For example, when a user instructs executionof an advanced application ADAPL, it is possible to set a delay time ofthe script SCRPT in such a manner that actual execution is started onlyafter a specific time has elapsed. Therefore, the advanced applicationADAPL may start execution of an event at a time behind a time set in thespecified position (time) information TTTIME on the title timeline inthe event element EVNTEL.

<ScheduledControlList (Scheduled Control List) Element>

-   -   ScheduledControlList element describes the Scheduled Control        Information for the Title. Scheduled Control Information defines        the scheduled pauses and event firings of the Title playback.

XML Syntax Representation of ScheduledControlList element:<ScheduledControlList> (PauseAt | Event)+ </ScheduledControlList>

The ScheduledControlList element consists of a list of PauseAt and/orEvent element. PauseAt element describes the time of the pause in theTitle playback. Event element describes the event firing time in theTitle playback.

More intelligible explanations will be provided below.

The scheduled control information SCHECI defines timings of scheduledpause processing and event execution in playback of a title.Additionally, a scheduled control list element in which contents of thescheduled control information SCHECI are written is formed of a list ofpaused-at elements PAUSEL or event elements EVNTEL. A time of pauseprocessing in playback of a title is written in the pause-at elementPAUSE, and an event execution start time in playback of a title iswritten in the even element EVNTEL.

<PauseAt (Pause-at) Element>

PauseAt element describes the pause position in a Title playback.

XML Syntax Representation of PauseAt element: <PauseAt id = ID titleTime= timeExpression />

PauseAt element shall have a title Time attribute. A timeExpressionvalue of titleTime attribute describes a scheduled pause position of theTitle Timeline.

titleTime attribute

Describes the pause position on Title Timeline. The value shall bedescribed in timeExpression value defined in Datatypes. If the pauseposition is in some valid period of the synchronized Presentation Clipelement for P-EVOB, or S-EVOB, the pause position shall be thecorresponding value of the presentation start time (PTS) of Coded-Frameof the video streams in P-EVOB (S-EVOB).

More intelligible explanations will be provided below.

A data configuration in the pause-at element PAUSEL is shown in (e) ofFIG. 75B. pause-at element ID information PAUSID (id attributeinformation) exists in the pause-at element PAUSEL, and specification ofthe pause-at element PAUSEL by an API command can be facilitated asshown in FIG. 82. Further, the pause-at element PAUSEL includesspecified position (time) information TTTIME (titleTime attributeinformation) on a title timeline. The specified position (time)information TTTIME (titleTime attribute information) on the titletimeline is indicative of a pause processing position on the titletimeline. A value of this information is written in a format of“HH:MM:SS:FF” (hours:minutes:seconds:frame number (a count value)).According to this embodiment, in a playback/display object belonging toa primary video set PRMVS and a secondary video set SCDVS, as shown inFIG. 53, a timing of a start time TTSTTM (titleTimeBegin) on a titletimeline matches with a timing of a start position VBSTTM(clipTimeBegin) on enhanced video object data EVOB in a correspondingclip element. Therefore, there can be derived a relationship (acorrespondence) between a time on a title timeline and a presentationstart time (a presentation time stamp value) PTS set on a video streamin primary enhanced video object data P-EVOB or secondary enhanced videoobject data S-EVOB based on the above-described information. As aresult, when a pause position specified by specified position (time)information TTTIME (titleTime) on a title timeline specified in (e) ofFIG. 75B is specified in a valid period VALPRD of the playback/displayobject (the enhanced video object EVOB), the pause position isassociated with a corresponding value of the presentation start time(the presentation time stamp value) PTS on a video stream in the primaryenhanced video object data P-EVOB (or the secondary enhanced videoobject data S-EVOB). The playlist manager PLMNG of the navigationmanager NVMNG shown in FIG. 28 utilizes the above-described relationshipto convert a value of the specified position (time) information TTTIME(titleTime attribute information) on the title timeline in the pause-atelement PAUSEL into a value of the presentation start time (thepresentation time stamp value), and the playlist manager PLMNG cantransfer the converted result to the presentation engine PRSEN shown inFIG. 30. The decoder engine DCDEN shown in FIG. 30 can execute decodingprocessing using the presentation start time (the presentation timestamp value) PTS, thereby facilitating correspondent processing of thedecoder engine DCDEN.

<Event Element>

Event element describes the event firing position in a Title playback.

XML Syntax Representation of Event element: <Event id = ID titleTime =timeExpression />

Event element shall have a title Time attribute. The Timecode oftitleTime attribute describes a event firing position of Title Timeline.

Note: Advanced Application may handle the event after the describedtime, because the script execution time is not guaranteed.

(a) titleTime attribute

Describes the time on Title Timeline, at which Playlist Manager firesthe Playlist Manager Event. The value shall be described intimeExpression value.

More intelligible explanations will be provided below.

A data configuration in an event element EVNTEL shown in (f) of FIG. 75Bwill now be described. In case of an event element EVNTEL, an eventelement ID information EVNTID (id attribute information) is likewisefirst written in an event element EVNTEL tag, and making reference tothe event element EVNTEL based on an API command is facilitated as shownin FIG. 82. Specified position (time) information TTTIME (titleTimeattribute information) on a title timeline in the event element EVNTELis indicative of a time on the title timeline TMLE when the playlistmanager PLMNG in the navigation manager NVMNG shown in FIG. 28 executesa playlist manager even (Describes the time on Title Timeline, at whichPlaylistManager fires the PlaylistManagerEvent). This value is set in aformat of “HH:MM:SS:FF” (hours:minutes:seconds:frame number).

A function and a use example of the pause-at element PAUSEL having thedata configuration shown in (e) of FIG. 75B will now be described withreference to FIGS. 76A and 76B. In this embodiment, in a case wherescheduled control information SCHECI shown in (d) of FIG. 75B does notexist, when time progress on the title timeline TMLE with respect to aplayback/display object such as primary enhanced video object dataP-EVOB which is displayed for a user is tried to be stopped, a lag timeis produced in API command processing even though pausing is tried byusing an API command, and specifying an accurate pause position inframes (fields) is difficult. On the contrary, in this embodiment,setting the scheduled control information SCHECI and also setting thepause-at element PAUSEL can specify an accurate pause position in fields(frames) of a moving image. Furthermore, generally, it is often the casethat a tick clock (a page clock or an application clock) is used withrespect to a display timing of an advanced subtitle ADSBT, an advancedapplication ADAPL, a playlist associated advanced application PLAPL or atitle associated advanced application TTAPL. In this case, since thetick clock works independently from a media clock corresponding toprogress on the title timeline TMLE, there is a problem that a pauseindication for the time timeline TMLE is hard to be set from theapplication. On the other hand, setting the pause-at element PAUSEL inthe scheduled control information SCHECI can achieve synchronizationbetween a display timing of the application and that of the titletimeline. A use example in which the pause-at element is utilized isshown in (a) of FIG. 76A. For example, a consideration will be given ona case where main video MANVD in a primary video set PRMVS is displayedin a screen as a main title 31 at a time “T0” on the title timeline TMLEin (a) of FIG. 76A as depicted in (b) of FIG. 76B. There is a case thata content provider pauses (sets a still image state) display of a maintitle 31 in a specific frame (a specific field) in the main title 31 anduses animation to give an explanation of the paused screen. In thiscase, the main title 31 is paused to provide a still image state at atime “T1” on a title timeline TMLE, descriptive animation ANIM #1 issimultaneously displayed as shown in (c) of FIG. 76B, and the picturedescriptive animation ANIM #1 is allowed to give an explanation of framecontents of still main video MANVD while maintaining the still imagestate of the main title 31. Further, as shown in (a) of FIG. 76A, attimes “T2” and “T3”, the main title 31 can be likewise temporarilystopped (a still image state is provided), and moving image descriptiveanimation ANIM #2 and #3 can be operated to give an explanation byvoice. As a mapping method on the title timeline TMLE which enables suchan operation, a method shown in (a) of FIG. 76A can be adopted. That is,a screen of a primary video set PRMVS is displayed by using primaryenhanced video object data P-EVOB in accordance with progress of thetitle timeline TMLE, an advanced application ADAPL is activated (startedto be executed) at a time “T1-ΔT” which is slightly ahead of the time“T1” on the title timeline TMLE, and the picture descriptive animationANIM #1 of the primary enhanced video object data P-EVOB is displayed byusing markup MRKUP in the advanced application ADAPL #1. Whenplayback/display of the picture descriptive animation ANIM #1 iscompleted, a script SCRPT starts to operate, thereby issuing an APIcommand NPLCMD which switches time progress on the title timeline TMLEfrom pausing to normal playback. As a result, time progress on the titletimeline TMLE returns to normal playback so that time progress(count-up) is restarted as usual. Furthermore, likewise, an advancedapplication ADAPL #2 is activated (started to be executed) at a time“T2-ΔTt”. The script SCRPT starts to operate immediately aftercompletion of playback/display of the picture descriptive animation ANIN#2, and the API command NPLCMD which allows normal playback on the titletimeline TMLE is issued to restart time progress on the title timelineTMLE.

FIGS. 77A and 77B show characteristics of a function and specific useexample of the event element EVNTEL having a configuration depicted in(f) of FIG. 75B. Like characteristics of the pause-at element functionshown in (d) of FIG. 76B, basic characteristics of the event elementEVNTEL lie in that a tick clock which drives various kinds ofapplications by event elements EVNTEL in scheduled control informationSCHECI is synchronized with a title timeline TMLE and that an eventstart time can be set with an accuracy in fames (fields) of a movingimage as a countermeasure for timing deviance due to delay in APIcommand processing. In this embodiment, as shown in FIG. 16, anexplanatory title or telop characters 39 can be displayed by using anadvanced subtitle ADSBT. As a method of displaying the superimposedtitle or telop characters 39 by using the advanced subtitle ADSBT,markup MRKUPS of the advanced subtitle can be used for expression.However, as another application example, when using an event elementEVNTEL shown in FIGS. 77A and 77B can perform further flexible displayof an superimposed title. A mapping method on the title timeline TMLEwhen displaying a specific superimposed title is shown in (a) of FIG.77A. An advanced subtitle ADSBT is arranged in line with displayprogress on the title timeline TMLE of primary enhanced video objectdata P-EVOB which displays a primary video set PRMVS, and display of theadvanced subtitle ADSBT is started (switched) in accordance with eachevent execution timing EVNTPT. That is, an advanced subtitle ADSBT #1 isdisplayed as a superimposed title in a period from a time “T1” to a time“T2” on the title timeline TMLE, and then an advanced subtitle ADSBT #2is displayed as a superimposed title in a period from the time “T2” to atime “T3” on the title timeline TMLE. A data configuration in a fontfile FONTS of an advanced subtitle in this embodiment is shown in (c) ofFIG. 77B. Advanced subtitle general information SBT_GI exists at a topposition in the file, and font file ID information FTFLID, languageattribute information FTLANG of a font and subtitle line numberinformation FTLN_Ns are recorded in this information. A start addressFTLN_SA of each subtitle information is written in the form of arelative byte number and a data size FTLN_SZ of each subtitleinformation is written in the form of a byte number in each subtitlesearch pointer FT_SRPT. Moreover, subtitle information FTLNDT for eachline is written in the subtitle information FONTDT.

FIG. 78 shows a flowchart illustrating a method of displaying theadvanced subtitle ADSBT in synchronization with the title timeline TMLEbased on the example depicted in FIGS. 77A and 77B. The flowchart isprocessed in the playlist manager PLMNG (see FIG. 28). First, a fontfile FONT of the advanced subtitle ADSBT is temporarily stored in thefile cache FLCCH (step S121). Then, a line number counter of a displaytarget subtitle is initialized as i=“0” (step S122). Subsequently,whether a time on the title timeline TMLE exists in a valid periodVALPRD of the advanced subtitle ADSBT is judged (step S123). When thetime on the title timeline TMLE exists in the valid period VALPRD of theadvanced subtitle ADSBT, whether the time on the title timeline TMLE hasreached a time TTTIME (titleTime) specified by the event element EVNTELis judged (step S126). If the time on the title timeline TMLE has notreached the time TTTIME (titleTime) specified by the event elementEVNTEL, the control waits until the time reaches the specified time.Additionally, when the time on the title timeline TMLE has reached thetime TTTIME (titleTime) specified by the event element EVNTEL, whethersubtitle information FTLNDT which should be displayed has been input tothe advanced subtitle player ASBPL (see FIG. 30) is judged (step S127).If it is not input, the control jumps to step S129. Further, if it hasbeen input, the subtitle information FTLNDT to be displayed is output toan AV renderer AVRND (see FIG. 30) (step S128). Then, data of a size ofFTLN_SA #i is read from a position shifted by FTLA_SA #i from a topposition in the font file FONTS of the advanced subtitle temporarilystored in the file cache FLCCH in accordance with a value of the linenumber counter “i”, and the read data is transferred to the advancedsubtitle player ASBPL (step S129). Subsequently, the value of the linenumber counter “i” is incremented by “1” (step S130). Then, the controlreturns to the step S123. When the time on the title timeline TMLE isout of the valid period VALPRD of the advanced subtitle ADSBT at thestep S123, whether the time on the title timeline TMLE is behind thevalid period VALPRD of the advanced subtitle ADSBT is judged (stepS124). If it is not behind, the control returns to the step S123. If itis behind, data removal FLCREM is executed from the file cache (stepS125).

As shown in (a) of FIG. 79A, configuration information CONFGI, mediaattribute information MDATRI and title information TTINFO are written ina playlist PLLST. An audio attribute item element AABITM indicative ofan attribute of audio data, an video attribute item element VABITMindicative of attribute information of video data and a sub-pictureattribute item element SPAITM indicative of an attribute of sub-picturedata can be recorded in the media attribute information MDATRI shown in(a) of FIG. 79A. Although each item element is written in attributeinformation of each data in a drawing shown in (b) of FIG. 79A, thepresent embodiment is not restricted thereto, and a plurality ofattribute item elements are written in accordance with differentattribute information of each playback/display object specified in aplaylist PLLST. As shown in (c) to (g) of FIG. 59C, when each attributeitem element in media attribute information MDATRI shown in (a) of FIG.79A is specified with respect to attribute information concerning a mainvideo element MANVD, a main audio element MANAD, a subtitle elementSBTELE, a sub video element SUBVD and a sub audio element SUBAD, eachattribute information can be shared. When respective pieces of attributeinformation of various playback/display objects defined in the playlistPLLST are collectively written in the media attribute information MDATRIand information in the media attribute information MDATRI is referred(specified) from object mapping information OBMAPI in title informationTTINFO, an overlapping description concerning common media attributeinformation in the object mapping information OBMAPI (including tracknumber assignment information) in the title information TTINFO can beavoided. As a result, it is possible to reduce an amount of written dataof the object mapping information OBMAPI and a total information amountwritten in the playlist PLLST. Consequently, processing of the playlistmanager PLMNG (see FIG. 28) can be also simplified.

<MediaAttribute (Media Attribute) Element and Media AttributeInformation>

MediaAttributeList element in Title element contains a list of element,called by Media Attribute element.

Media Attribute element describes Media Attribute Information forelementary streams. The mandatory attribute is ‘codec’, other attributesare optional. If the Media Attribute value is described, the mediaattribute value shall be same with the corresponding value inEVOB_VTS_ATR, or EVOB_ATR.

Media Attribute element is referred by Track Number Assignment elementsby mediaAttr attribute. Media Attribute element has a Media Attributeindex described by index attribute. The Media Attribute index should beunique for each type of media attribute in the Media Attribute Listelement. It means, for example, AudioAttributeItem andVideoAttributeItem can have a same media attribute index, especiallyfor 1. The mediaAttr attribute can be omitted. Default value is ‘1’.

More intelligible explanations will be provided below.

The media attribute information MDATRI is constituted of a list ofrespective elements called attribute item elements. The media attributeitem element belongs to one of an audio attribute item element AABITMindicative of attribute information of audio data, a video attributeitem element VABITM indicative of attribute information of video data,and a sub-picture attribute item element SPAITM indicative of attributeinformation of a sub-picture. Further, it can be said that each mediaattribute item element represents media attribute information MDATRIconcerning each elementary stream constituting enhanced video objectdata EVOB. The attribute information which must be written in the mediaattribute item element is data code information or compression codeinformation, and a description of other attribute information can beeliminated in the media attribute item element. Information ofEVOB_VTS_ATR or EVOB_ATR is written in the enhanced video objectinformation EVOBI shown in FIG. 12 or an attribute information recordingregion in a time map STMAP of a secondary video set. A value of eachattribute information in the media attribute item element must matchwith information contents set in EVOB_VTS_ATR or EVOB_ATR. As a result,a relationship between the media attribute information MDATRI in theplaylist PLLST, the media attribute information MDATRI written in theenhanced video object information EVOBI and the media attributeinformation MDATRI written in the time map STMAP of the secondary videoset can have integrity, thereby assuring stableness of playback/controlprocessing in the presentation engine PRSEN in the advanced contentplayback unit ADVPL shown in FIG. 14. As described above, respectivemedia attribute item elements shown in (c) to (e) in FIG. 79B arereferred (specified) from the main video element MANVD, the main audioelement MANAD, the subtitle element SBTELE, the sub video element SUBVDand sub audio element SUBAD in the track number assignment information(the track number setting information). The referring (specifying)method will now be described. As shown in (c) to (e) of FIG. 79B, mediaindex number information INDEX (index attribute information) exists inevery media item elements, i.e., the audio attribute item elementAABITM, the video attribute item element VABITEM and the sub-pictureattribute item element SPAIPM. Further, as shown in (c) to (g) of FIG.59C, a description section for a corresponding media attribute elementindex number MDATNM (mediaAttr attribute information) in media attributeinformation equally exists in the main video element MANVD, the mainaudio element MANAD, the subtitle element SBTELE, the sub video elementSUBVD and the sub audio element SUBAD in the track number assignmentinformation (object mapping information OBMAPI). The index number MDATNM(mediaAttr attribute information) of a corresponding medial attributeelement in the media attribute information is used to specify mediaindex number information INDEX (index attribute information) shown in(c) to (e) of FIG. 79B to make reference to a corresponding mediaattribute item element. As conditions to guarantee the association, themedia index number information INDEX (a value of the index attributeinformation) must be set uniquely (without overlapping) in accordancewith each of types of different media attributes (each type, i.e., anaudio attribute, a video attribute or a sub-picture attribute) in themedia attribute information MDATRI (a media attribute list element). Inthis embodiment, the media index number information INDEX (a value ofthe index attribute information) in the audio attribute item elementAABITM and the media index number information INDEX (a value of theindex attribute information) in the video attribute item element VABITMcan be equally set to the same value “1”. Furthermore, a description ofthe media index number information INDEX (index attribute information)can be eliminated in each media attribute item element. In this case,“1” as a default value is automatically set.

<AudioAttributeItem (Audio Attribute Item) Element>

AudioAttributeItem element describes an attribute of Main and Sub Audiostream. The attribute value shall be same with the corresponding valuein EVOB_VTS_ATR, or EVOB_ATR.

XML Syntax Representation of AudioAttributeItem element:<AudioAttributeItem index = positiveInteger codec = string sampleRate =positiveInteger sampleDepth = positiveInteger channels = positiveIntegerbitrate = positiveInteger />

(a) index attribute

Describes the Media Index for the attribute.

(b) codec attribute

Describes codec. The value shall be LPCM, DD+, DTS-HD, MLP, MPEG, orAC-3. AC-3 may be described only for Interoperable Content.

(c) sampleRate attribute

Describes sample rate. It is expressed as the number of kilohertz. Thisattribute can be omitted.

(d) sampleDepth attribute

Describes sample depth. This attribute can be omitted.

(e) channels attribute

Describes number of audio channels in positive number. It shall be samevalue described in EVOB_AMST ATRT. The “0.1ch” is defined as “1ch”.(e.g. In case of 5.1ch, enter ‘6’ (6ch).) This attribute can be omitted.

(f) bitrate attribute

Describes bit rate. It is expressed as the number of kilobits persecond. This attribute can be omitted.

More intelligible explanations will be provided below.

A data configuration in the audio attribute item element AABITM shown in(c) of FIG. 79B will now be described. The audio attribute item elementAABITM is written about attribute information concerning a main audiostream MANAD and sub audio stream SUBAD. As described above, contentsset in EVOB_VTS_ATR or EVOB_ATR must match with a value of eachattribute information written in the audio attribute item elementAABITM. As described above, the media index number information INDEX(index attribute information) is referred by the main audio elementMANAD and the sub audio element SUBAD as shown in (d) and (g) of FIG.59C. Then, as a value of audio compression code information ADCDC(codex), “LPCM (linear PCM)”, “DD+”, “DTS-HD”, “MLP”, “MPEG” or “AC-3”can be selected in this embodiment. In particular, “AC-3” is used forinteroperable contents alone. Moreover, a sample frequency ADSPRT(sampleRate attribute information of an audio stream represents a samplerate of an audio stream, and a description of this attribute informationcan be eliminated. Additionally, sample depth information or aquantization bit number SPDPT (sampleDepth attribute information)represents sample depth information, and a description of this attributeinformation can be eliminated. Further, audio channel number informationADCLN (channels attribute information) represents an audio channelnumber, and its value is written in the form of a positive number. Asdescribed above, contents set for EVOB_AMST_ATRT existing in enhancedvideo object information EVOBI or an attribute information recordingregion in a time map of a secondary video set must match with a value ofthe audio channel number information ADCNL (channels attributeinformation). If the audio channel number ADCNL has a fractional figure,a value of this attribute information must be written in the form of apositive number obtained by rounding up to the whole number. Forexample, in case of a 5.1 channel, a fractional figure is rounded up,and “6” is set as a value of the audio channel number information ADCNL.Further, a description of the attribute information can be eliminated.Furthermore, a description of BITRATE attribute information indicativeof data bit rate (data transfer rate) information DTBTRT may beeliminated in the audio attribute item element AABITM.

<VideoAttributeItem (Video Attribute Item) Element>

VideoAttributeItem element describes an attribute of Main and Sub Videostream. The attribute value should be same with the corresponding valuein EVOB_VTS_ATR, or EVOB_ATR.

XML Syntax Representation of VideoAttributeItem element:<VideoAttributeItem index = positiveInteger codec = stringsampleAspectRatio = (16:9 | 14:3) horizontalResolution = positiveIntegerverticalResolution = positiveInteger encodedFrameRate = positiveIntegersourceFrameRate = positiveInteger bitrate = positiveInteger activeAreaX1= nonnegativeInteger activeAreaY1 = nonnegativeInteger activeAreaX2 =nonnegativeInteger activeAreaY2 = nonnegativeInteger />

(a) index attribute

Describes the Media Index for the attribute.

(b) codec attribute

Describes codec. The value shall be MPEG-2, VC-1, AVC, or MPEG-1. MPEG-1may be described only for Interoperable Content.

(c) sampleAspectRatio attribute

Describes the shape of encoded samples or “pixels”. This attribute canbe omitted.

(d) horizontalResolution attribute

Describes the number of horizontal samples encoded, not the number ofpixels that may be generated from decoding. This attribute can beomitted.

(e) verticalResolution attribute

Describes the number of vertical samples encoded, not the number ofpixels that may be generated from decoding. This attribute can beomitted.

(f) encodedFrameRate attribute

Describes encoded frame rate, which is expressed in frames, not fields(i.e. 30 interlaced frames, not 60 fields). This attribute can beomitted.

(g) sourceFrameRate attribute

Describes the approximate frame rate of the captured source content. Forinstance, film would typically indicated “24”, but would have an actualvideo rate of 23.976 Hz, and may be encoded with repeat field flags at29.970 Hz. This attribute can be omitted.

(h) bitrate attribute

Describes the approximate average bit rate adequate to allow applicationselection between different streams available based on each player'savailable network bandwidth. It is expressed as the number of kilobitsper second. This attribute can be omitted.

(i) activeAreaX1, activeAreaY1, activeAreaX2 and activeAreaY2 attributes

Describes the active image area in an encoded frame in the case where asolid color fills the encoded area not filled by the image. The activeimage rectangle is specified based in full screen display coordinates.This attribute can be omitted.

More intelligible explanations will be provided below.

A data configuration in the video attribute item element VABITM shown in(d) of FIG. 79B will now be described. The video attribute item elementVABITM is written about attribute information of a main video streamMANVD and a sub video stream SUBVD. As described above, contents set inEVOB_VTS_ATR or EVOB_ATR must match with a value set in each attributeinformation in the video attribute item element VABITM. Media indexnumber information INDEX (a value of index attribute information) in thevideo attribute item element VABITM matches with an index number MDATNM(a value of mediaAttr attribute information) of a corresponding mediaattribute element in the media attribute information written in (c) or(f) of FIG. 59C, and referred (specified) by a main video element MANVDand a sub video element SUBVD. Moreover, as a value of codec attributeinformation representing compression code information VDCDC of video,one of “MPEG-2”, “VC-1”, “AVC” and “MPEG-1” can be selected. The MPEG-1is used for interoperable contents alone. Additionally, aspect ratioinformation ASPRT (sampleAspectRatio attribute information) representsan encoded screen displayed for a user or a shape (an aspect ratio) ofpixels. As a value which can be taken by the aspect ratio informationASPRT, one of “4:3” indicative of a standard screen size/screen shapeand “16:9” indicative of a shape of a wide screen is set. A descriptionof the aspect ratio information ASPRT can be eliminated in the videoattribute item element VABITM. Next horizontal resolution attributeinformation HZTRL (horizontalResolution attribute information)represents the number of samples (the number of pixels) in thehorizontal direction of an encoded picture. The value does not representthe number of pixels which can be generated by decoding. Verticalresolution attribute information VTCRL (verticalResolution attributeinformation) written after HZTRL represents the number of samples (thenumber of pixels) in the vertical direction of an encoded picture. Thevalue does not represent the number of pixels which can be obtained as aresult of decoding. A description of information concerning thehorizontal resolution attribute information HZTRL and the verticalresolution attribute information VTCRL can be eliminated. Additionally,encodedFrameRate attribute information represents frame rate attributeinformation ENFRRT at the time of display for a user. This informationis indicative of an encoded frame rate, it is not represented in theform of the number of frames rather than the number of fields. Forexample, in an interlace display mode in NTSC, 60 fields exist in onesecond and correspond to 30 frames. Although the number of fields andthe number of frames are different from each other in the interlacedisplay mode in this manner, the frame rate attribute information ENFRRTat the time of display for a user represents a frame rate in framesrather than the number of fields. Further, a description of the framerate attribute information ENFRRT at the time of display for a user canbe eliminated. Next source frame rate attribute information SOFRRT(sourceFrameRate attribute information) to be written represents an“approximate” frame rate of fetched source contents. That is, although asource frame rate of a picture film which is displayed in a movietheater is indicated as “24”, an actual video rate is 23.976 Hz.Furthermore, the picture film displayed in the movie theater can beencoded by using a repeat field flag at 29.970 Hz. In this embodiment,as a value of the source frame rate attribute information SOFRRT, avalue of “23.976 or 29.970 is not written, but a value of “24” or “30”which is as an approximate frame rate is written. Moreover, adescription of this information can be eliminated. In this embodiment,as shown in FIGS. 67 and 68, an appropriate network source can beselected and transferred to a network from a plurality of networksources based on a network bandwidth corresponding to a networkenvironment in which the information recording and playback apparatus 1including the advanced content playback unit ADVPL is placed. Data bitrate (data transfer rate) information DTBTRT (bitrate attributeinformation) represents an approximate value with respect to an averagevalue of respective bit rates when different playback/display objectstreams selected in accordance with a network environment (a networkbandwidth) in which each information recording and playback apparatus 1is placed are transferred. The value (the data bit rate informationDTBTRT (bitrate attribute information)) will now be described withreference to an example shown in FIG. 67. In a network source elementNTSELE in a playlist PLLST is written src attribute information (astorage position (a path) and a file name of a resource) correspondingto each network throughput. Exploiting a list of the network sourceelements NTSELE can select an optimum object file corresponding to anetwork throughput in each network environment. For example, in case ofmodem communication using a telephone line, a network throughput of 56Kbps alone can be obtained. In this case, S-EVOB_LD.EV0 becomes anobject file optimum for the network environment as a file in which aplayback/display object stream is recorded. Furthermore, in case of anetwork environment using optical communication or the like, 1 Mbps canbe guaranteed as a network throughput. Data transfer of an E-EVOB_HD.DV0file having high-definition picture information is appropriate for auser having a network environment with such a high network throughput.An optimum source to be selected varies depending on each networkenvironment in this manner, and an approximate value of an average valuewith respect to 1 Mbps and 56 Kbps is (1000+56)÷2=528≅500. Therefore,the value “500” is written in the source frame rate attributeinformation SOFRRT. As described above, a value of the source frame rateattribute information SOFRRT is represented in the form of a numericfigure in Kbit/s. Information of active area coordinates fromactiveAreaX1 attribute information to activeAreaY2 attribute informationwritten in the video attribute item element VABITM is indicative of anactive image area in a frame which is displayed for a user afterencoding. The active image area of a frame which is encoded anddisplayed for a user is not filled with an image, but it includes aregion which is filled with a fixed homochromatic color, e.g., black.For example, when a standard screen is displayed in a TV wide screen,black stripes may be displayed on both sides of the TV wide screen insome cases. In this example, a region corresponding to the TV widescreen including the black stripes on both sides rather than thestandard screen (an image region) represents the “active image region ina frame which is encoded and displayed for a user”. A square region ofthe active image is defined as a region specified in a displaycoordinate system (a canvas coordinate system CNCRD shown in FIG. 40) ofa full screen. Furthermore, display of the attribute information can beeliminated. In the active image region,

ActiveAreaX1 attribute information represents an X coordinate valueAPARX1 at an upper left end position of a video display screen in anaperture;

ActiveAreaY1 attribute information represents a Y coordinate valueAPARY1 at an upper left end position of the video display screen in theaperture;

ActiveAreaX2 attribute information represents an X coordinate valueAPARX2 at a lower right end position of the video display screen in theaperture; and

ActiveAreaY2 attribute information represents a Y coordinate valueAPARY2 at a lower right end position of the video display screen in theaperture.

A specific image concerning the attribute information will now bedescribed with reference to FIG. 84(c). In a display screen exampleshown in FIG. 84(c), it is assumed that a coordinate position at anupper left end of a screen of a main title 31 constituted of main videoMANVD in a primary video set PRMVS is represented as (Xp1, Yp1), and acoordinate position at a lower right end of the main title 31 isrepresented as (Xp2, Yp2). In a description example of FIG. 84(a), thecoordinate values at the upper left end and the lower right end arewritten in a video attribute item element VABITM in which media indexnumber information INDEX (index attribute information) in mediaattribute information MDATRI has a value “1” (a correspondencerelationship with FIG. 84(c) is indicated by a broken line β and abroken line γ). Further, as shown in FIG. 84(c), a consideration will begiven as to a case where a coordinate at an upper left end of a screenof sub video SUBVD in a secondary video set SCDVS is defined as (Xs1,Ys1) and a coordinate at a lower right end of the same is specified as(Xs2, Ys2). In the description example of FIG. 84(a), the coordinatevalues are written in a video attribute item element VABITM in which avalue of media index number information INDEX (index attributeinformation) is set to “2” in the media attribute information MDATRI. Acorrespondence relationship between the coordinate values specified inFIG. 84(c) and the coordinate values written in FIG. 84(a) is indicatedby a broken line δ and a broken line ε. Then, when a value of an indexnumber MDATNM (mediaAttr attribute information) of a corresponding mediaattribute element in media attribute information of a main video elementMANVD in a primary audio video clip element PRAVCP is set to “1” inobject mapping information OBMAPI (track number assignment information)included in title element information TTELEM in title information TTINFOshown in FIG. 84(a), a value of the media index number information INDEXis associated with the video attribute item element VABITM in accordancewith a relationship indicated by an alternate long and short dash lineη. As a result, a display screen region of the main video element MANVDwritten in the primary audio video clip element PRAVCP is set as aregion of the main title 31 shown in FIG. 84(c). Moreover, likewise,when a value of an index number MDATNM (mediaAttr attribute information)of a corresponding media attribute element in media attributeinformation in a sub video element SUBVD is set to “2” in a secondaryaudio video clip element SCAVCP, the media index number informationINDEX (a value of the index attribute information) is linked with avideo attribute item element VABITM set as “2” as shown in acorrespondence relationship indicated by an alternate long and shortdash line ξ. As a result, a screen display size of the sub video elementSUBVD written in the secondary audio video clip element SCAVCP is set asa region of the sub video element SUBVD in the secondary video set SCDVSshown in FIG. 84(c).

<SubpictureAttributeItem (Sub-picture Attribute Item) Element>

-   -   SubpictureAttributeItem element describes an attribute of        Sub-picture stream. The attribute value shall be same with the        corresponding value in EVOB_VTS_ATR, or EVOB_ATR.

XML Syntax Representation of SubpictureAttributeItem element:<SubpictureAttributeItem index = positiveInteger codec = string />

(a) index attribute

Describes the Media Index for the attribute.

(b) codec attribute

Describes codec of the codec. The value is 2bitRLC, or 8bitRLC.

More intelligible explanations will be provided below.

A data configuration in a sub-picture attribute item element SPAITMshown in (e) of FIG. 79B will now be described. The sub-pictureattribute item element SPAITM describes attribute information of asub-picture stream (a sub-picture stream SUBPT). Each attributeinformation value written in the sub-picture attribute item elementSPAITM must match with contents set in EVOB_VTS_ATR or EVOB_ATR asmentioned above. Media index number information INDEX (index attributeinformation) in the sub-picture attribute item element SPAITM isreferred by using a sub-picture stream number SPSTRN (streamNumberattribute information) of a sub-picture pack corresponding to a tracknumber shown in (e) of FIG. 59C. Additionally, as a value set forcompression code information SPCDC (codec attribute information) of asub-picture, one of “2bitRLC (run-length compression)” and “8bitRLC(run-length compression)” is set.

As shown in FIG. 80(a), a playlist file PLLST includes configurationinformation CONFGI. Information concerning systematic configurationparameters is written in the configuration information CONFGI.

<Configuration Element>

The Configuration element consists of a set of System Configuration forAdvanced Content.

XML Syntax Representation of Configuration element: <Configuration>StreamingBuffer Aperture MainVideoDefaultColor NetworkTimeout ?</Configuration>

Content of Configuration element shall be a list of systemconfiguration.

More intelligible explanations will be provided below.

FIG. 80(b) shows a data configuration in the configuration informationCONFGI. The configuration information CONFGI is written in the form of aconfiguration element. The configuration element is constituted of setinformation of a system configuration concerning advanced contentsADVCT. Further, contents of the configuration element are formed of alist of information concerning system information. The list concerningthe system configuration is made up of various kinds of elements, i.e.,a streaming buffer element STRBUF, an aperture element APTR, a mainvideo default color element MVDFCL and a network timeout element NTTMOT.

FIG. 80(c) shows a data configuration in the streaming buffer elementSTRBUF. Required size information of a streaming buffer STRBUF in thedata cache DTCCH is written in the streaming buffer element STRBUF. Asshown in FIG. 25, a secondary video set SCDVS stored in the networkserver NTSRV must be temporarily stored in the streaming buffer STRBUFin the data cache DTCCH before played back/displayed for a user by theadvanced content playback unit ADVPL. When the advanced content playbackunit ADVPL actually displays the secondary video set SCDVS, thesecondary video set SCDVS temporarily stored in the streaming bufferSTRBUF is read, and display processing for a user is executed whiletransferring the read set to the secondary video player SCDVP. At thistime, as shown in FIG. 25, a playback/display object temporarily storedin the streaming buffer STRBUF is the secondary video set SCDVS alone,and many other display/playback objects are temporarily stored in thefile cache FLCCH in the data cache DTCCH. Therefore, when the secondaryvideo set SCDVS is not included in advanced contents ADVCT supplied by acontent provider, a setting region for the streaming buffer STRBUF doesnot have to be provided in the data cache DTCCH. When the streamingbuffer element STRBUF is arranged in the configuration informationCONFGI, it is possible to recognize a memory region size of thestreaming buffer STRBUF required for storage of the secondary video setSCDVS (see FIG. 25) which is previously transferred from the networkserver NTSRV before display for a user, thereby smoothly executingtransfer processing of the secondary video set SCDVS. In this manner, amemory size of the streaming buffer STRBUF which must be set in advancedin the data cache DTCCH requested by a creator (a content provider) whocreates advanced contents ADVCT with respect to the advanced contentplayback unit ADVPL becomes a “streaming buffer size STBFSZ (sizeattribute information) which must be previously set” shown in FIG.80(c). The advanced content playback unit ADVPL changes a configuration(a memory space allocated to the streaming buffer STRBUF) in the datacache DTCCH during sequence processing at the time of startup. Settingof the configuration (the memory spaced allocated to the streamingbuffer STRBUF) in the data cache DTCCH is carried out as a part of theprocessing described at the step S62 in FIG. 51. A value of the“streaming buffer size STBFSZ (size attribute information) which must bepreviously set” is written in a unit of “kilobyte (1024 bytes)”. Forexample, when 1 Mb must be set as the streaming buffer STRBUF size, avalue “1024” is set as a value of the streaming buffer size STBFSZ (sizeattribute information) which must be previously set. Since a unit of thevalue to be written is the unit of 1024 bytes as described above, whenbyte conversion of the total streaming buffer STRBUF size is performed,a value of 1024×1024 bytes is obtained, which is substantially equal to1 MB. Furthermore, a value written in the “streaming buffer size STBFSZ(size attribute information) which must be previously set” must bewritten in the form of a positive number value (a fractional figure isrounded up to be displayed). Moreover, this value must be set as an evennumber. That is because setting of the memory space of the data cacheDTCCH in the advanced content playback unit ADVPL is performed in bits(bytes). Therefore, setting a value of the “streaming buffer size STBFSZwhich must be previously set” to an even number value in accordance withprocessing in bits can facilitate processing in the advanced contentplayback units ADVPL in bytes.

<Aperture Element>

Aperture element describes the full visible image size.

XML Syntax Representation of Aperture element: <Aperture size =(1920×1080 | 1280×720) />

(a) size attribute

Describes the full visible image size.

More intelligible explanations will be provided below.

FIG. 80(d) shows a data configuration in an aperture element APTR in theconfiguration information CONFGI. The aperture element APTR representsfull-size information of an image which can be displayed (seen) in ascreen to be displayed for a user. The aperture size information APTRSZ(size attribute information) represents information of a full image sizewhich can be seen (displayed) by a user as described above, and one of“1920×1080” and “1280×720” can be set. The aperture size informationAPTRSZ is indicative of a full size of an aperture APTR (a graphicregion) in a graphic plane shown in FIG. 40. In FIG. 40, (1920, 1080) iswritten as a coordinate value at a lower right position of a bold frameshowing the aperture APTR (the graphic region), and a value “1920×1080”is set as a value of the aperture size information APTRSZ in this case.FIG. 84 shows a specific embodiment of setting the aperture sizeinformation APTRSZ. In a display screen example shown in FIG. 84(c), acoordinate at an upper left position of an entire screen enclosed with ablack frame is (0, 0), and a coordinate value at a lower right positionof the same is (Xa, Ya). The coordinate (Xa, Ya) is the aperture sizeinformation APTRSZ, and this value is written in the aperture sizeinformation APTRSZ in the aperture element APTR in accordance with acorrespondence line indicated by a broken line α. As a descriptionexample in this case, a value “XaxYa” is set.

<MainVideoDefaultColor (Main Video Default Color) Element>

MainVideoDefaultColor element describes the Outer Frame Color for MainVideo, which is the color of Main Video plane out side of the MainVideo.

XML Syntax Representation of MainVideoDefaultColor element:<MainVideoDefaultColor color = string />

(a) color attribute

Describes the Y Cr Cb color in 6 hex digits. The value shall be infollowing format:

color=Y Cr Cb

Y, Cr, Cb:=[0-9A-F][O-9A-F]

where 16≦Y≦235, 16<Cb≦240, 16≦Cr≦240.

More intelligible explanations will be provided below.

FIG. 80(e) shows a data configuration in a main video default colorelement MVDFCL included in the configuration information CONFGI. Themain video default color element MVDFCL describes contents of an outerframe color with respect to main video MANVD. The outer frame color withrespect to the main video MANVD means an outer background color in amain video plane MNVDPL (see FIG. 39) concerning the main video MANVD.For example, a size of a screen which is displayed for a user is set ina video attribute item element VABITM based on information ofactiveAreaX1 to activeAreaY2 described in (d) of FIG. 79B, and an indexnumber MDATNM (mediaAttr attribute information) of a corresponding mediaattribute element in media attribute information shown in (c) of FIG.59C is used to establish a link with the video attribute item elementVABITM based on the corresponding main video MANVD, thereby setting thedisplay screen size of the main video MANVD. If a user watches atelevision having a screen with a wider lateral width (a wide screen)than a screen which is actually displayed, both ends of the televisionscreen become regions where the display screen of the main video MANVDdoes not exist. This region means an outer part in the main video planeMNVDPL, and a color of the region where the picture (the main videoMANVD) is not displayed is set by “outer frame attribute informationCOLAT (color attribute information) with respect to the main video”. Avalue set for the outer frame attribute information COLAT (colorattribute information) with respect to the main video represents colorsY, Cr and Cb in the form of six hexagonal digital data. A specific setvalue is written in the following format.

Color=Y Cr Cb

Y, Cr, Cb:=[0-9A-F] [0-9A-F]

where, conditions as values set for Y, Cb and Cr are set as follows.

16≦Y≦235, 16≦Cb≦240, 16≦Cr≦240

In this embodiment, the “outer frame attribute information COLAT (colorattribute information) with respect to the main video” is not simply setto red or blue, but it is represented in the form of colors Y, Cr andCb, thereby displaying richly expressive colors for a user.

<NetworkTimeout (Network Timeout) Element>

Timeout element describes the timeout of network request.<NetworkTimeout timeout = nonNegativeInteger />

(a) timeout attribute

Describes the milliseconds for timeout.

More intelligible explanations will be provided below.

FIG. 80(f) shows a data configuration in a network timeout elementNTTMOT existing in the configuration information CONFGI. The networktimeout element NTTMOT is indicative of a timeout period required in thenetwork. In this embodiment, a necessary playback/display object and itsmanagement information are downloaded from the network server NTSRVthrough the network. When network communication is disabled due to aproblem in a network environment, a network communication line must beautomatically disconnected. A time taken until the network line isdisconnected after network communication is disabled is defined as atimeout period. Timeout setting information NTCNTO (timeout attributeinformation) at the time of network connection is written in a unit ofmS.

As shown in FIG. 12, a manifest MNFST or a manifest MNFSTS of anadvanced subtitle is referred by a playlist PLLST. This situation isillustrated in detail in FIG. 18. That is, a file name referred as anindex at the time of playback/use by an AdvancedSubtitleSegment ADSTSGwhich manages the advanced subtitle ADSBT is a manifest file MNFSTS.Moreover, a file which is referred as an index at the time ofplayback/use by an ApplicationSegment APPLSG which manages an advancedapplication ADAPL is a manifest file MNFST of the advanced application.FIG. 81 shows data configurations in the manifest file MNFSTS of theadvanced subtitle and the manifest file MNFST of the advancedapplication.

<Manifest File>

The Manifest File is the initialization information of the AdvancedApplication for a Title. Player shall launch an Advanced Application inaccordance with the information in the Manifest file. The AdvancedApplication consists of a presentation of Markup file and execution ofScript.

The initialization information described in a Manifest file is asfollows:

-   -   Initial Markup file to be executed    -   Script file(s) to be executed in the Application Startup Process

Manifest File shall be encoded as well-formed XML, subject to the rulesin XML Document File. The document type of the Playlist file shallfollow in this section.

More intelligible explanations will be provided below.

The manifest file MNFST is indicative of initial (initial setting)information of an advanced application ADAPL corresponding to a title.The advanced content playback unit ADVPL in the information recordingand playback apparatus 1 shown in FIG. 1 performs execution/displayprocessing of the advanced application ADAPL based on informationwritten in the manifest file MNFST. The advanced application ADAPL ismade up of display processing based on markup MRKUP and executionprocessing based on a script SCRPT. The initial (initial setting)information written in the manifest MNFST represents the followingcontents.

-   -   A first markup file MRKUP to be executed.    -   A script file SCRPT which should be executed in startup        processing of an application.

The manifest file MNFST is written based on XML, and encoded based onXML grammar. A data configuration in the manifest file MNFST is formedof an application element shown in FIG. 81(a). The application elementtag is formed of application element ID information MNAPID and base URIinformation MNFURI (xml: base attribute information) of a correspondingelement. When the application element ID information MNAPID is providedin the application element tag, reference can be made to the applicationelement ID information MNAPID based on an API command as shown in FIGS.59A to 59C, thereby facilitating retrieval of a correspondingapplication element based on the API command. Additionally, a regionelement RGNELE, a script element SCRELE, a markup element MRKELE and aresource element RESELE can be included as child elements in theapplication element.

<Region Element>

The region element defines a layout region within a layout plan.

XML Syntax Representation of Application element: <Region x =nonNegativeInteger y = nonnegativeInteger width = nonNegativeIntegerheight = nonnegativeInteger />

Content elements are laid out in this region.

(a) x attribute

Describes the x axis value of the initial position of the region on theCanvas.

(b) y attribute

Describes the y axis value of the initial position of the region on theCanvas.

(c) width attribute

Describes the width of the region in Canvas coordinates.

(d) height attribute

Describes the height of the region in Canvas coordinates.

More intelligible explanations will be provided below.

FIG. 81(b) shows a data configuration in a region element RGNELE whichcan be arranged in an application element depicted in FIG. 81(a). Asshown in FIG. 39, respective layers, i.e., a main video plane MNVDPL, asub video plane SBVDPL, a sub-picture plane SBPCPL, a graphic planeGRPHPL and a cursor plane CRSRPL exist in a display screen which isdisplayed for a user, and a composite screen in which the respectivelayers are combined is displayed for a user as shown in a lower part ofFIG. 39. Of the respective layers, the graphic plane GRPHPL is processedas a display screen layer concerning an advanced application ADAPL inthis embodiment. An entire screen of the graphic plane GRPHPL shown inFIG. 39 is defined as an aperture APTR (a graphic region). Further, asshown in a lower screen in FIG. 39, a region where respective buttonsfrom a help icon 33 to FF button 38 are arranged is defined as anapplication region APPRGN as shown in the graphic plane GRPHPL. Theapplication region APPRGN represents a screen region in which advancedcontents ADVCT corresponding to an advanced application are displayed inthis embodiment, and an arrangement position and a region dimension ofthe application region APPRGN in the aperture APTR (the graphic region)are written in a region element RGNELE shown in FIG. 81(b). A method ofarranging the application region APPRGN in the aperture APTR (thegraphic region) will now be described in detail with reference to FIG.40. As shown in FIG. 40, a region in the graphic plane GRPHPL is calleda canvas. Furthermore, a coordinate system which specifies anarrangement position of each application region APPRGN on the canvas isdefined as a canvas coordinate CNVCRD. In the embodiment shown in FIG.40, application regions APPRGN #1 to #3 are set on the canvas coordinateCNVCRD. An outline part in the application region APRGN #1 is called aposition of a graphic object. In this embodiment, the graphic object maybe called a content element in some cases. One graphic object (a contentelement) corresponds to each icon or button such as a help icon 33 or astop button 34 shown in a lower part of FIG. 39 in a one-on-onerelationship. That is, an arrangement position and a display screen sizeof the help icon 33 or the stop button 34 in the application regionAPPRGN #1 are defined by a coordinate value (xl, yl) in the applicationregion APPRGN #1. The arrangement position and a display size of thegraphic object (the content element) such as a help icon 33 or a stopbutton 34 in the application region APPRGN #1 are respectively writtenin a markup file MRKUP.XMU as described with an asterisk below themarkup element MRKELE in FIG. 84(b). As shown in FIG. 40, an X axis inthe canvas coordinate CNVCRD represents a lateral direction of a screenwhich is displayed to a user, and a right-hand direction is a plusdirection. A unit of a coordinate value in the X axis direction isindicated as a value of the number of pixels from an origin position.Further, a Y axis in the canvas coordinate CNVCRD represents a verticaldirection of the screen which is displayed for a user, and a lowerdirection is a plus direction. A unit of a coordinate value in the Xaxis direction is also indicated as a value of the number of pixels fromthe origin position. An upper left end position of the aperture APTR(the graphic region) in this embodiment is the origin position of thecanvas coordinate CNVCRD (a position of (0, 0) in the canvas coordinatesystem). As a result, a screen size of the aperture APPTR (the graphicregion) is specified by the canvas coordinate CNVCRD at a lower rightend in the aperture APTR (the graphic region). In the example shown inFIG. 40, a screen displayed for a user has a size of 1920×1080, and acanvas coordinate value at a lower right end position in the apertureAPTR (the graphic region) becomes (1920, 1080). An arrangement positionof the application region APPRGN #1 in the aperture APTR (the graphicregion) is defined by a value of the canvas coordinate CNVCRD (X, Y) atan upper left end position in the application region APPRGN #1. Inaccordance with this definition, as X attribute information in theregion element RGNELE shown in FIG. 81(b), an X coordinate value XAXIS(see FIG. 40) at a starting point position of the application region inthe canvas is set. Further, likewise, as a Y attribute value in theregion element RGNELE, a Y coordinate value YAXIS at the starting pointposition of the application region in the canvas is set. Furthermore, asshown in FIG. 40, an upper left end position of the application regionAPPRGN #1 is defined as an origin (0, 0) in the coordinate system in theapplication region, and values of a width and a height in theapplication region APPRGN #1 are specified based on a coordinate (x2,y2) at a lower right end position in the application coordinate systemin the application region APPRGN #1. That is, a width of the applicationregion APPRGN #1 is defined by “x2”, and a height of the applicationregion APPRGN #1 is defined by a value of “y2”. In accordance with thisdefinition, a display size of the application region APPRGN is definedby a “width” and a “height” in this embodiment. That is, width attributeinformation in the region element RGNELE shown in FIG. 81(b) representsa width WIDTH of the application region in the canvas coordinate system.Moreover, height attribute information in the region element RGNELEshown in FIG. 81(b) represents a height HEIGHT of the application regionin the canvas coordinate system. If descriptions of an X coordinatevalue XAXIS at the starting point position of the application region anda Y coordinate value YAXIS at the starting point position of theapplication region in the canvas are eliminated in the region elementRGNELE, a default value “0” is set as a value of the X coordinate valueat the starting point position of the application region in the canvas,and a default value “0” is automatically set as a value of the Ycoordinate value YAXIS at the starting point position of the applicationregion in the canvas. In this case, as apparent from FIG. 40, since acoordinate value (X, Y) at the starting point of the correspondingapplication region APPRGN #1 becomes (0, 0), the application regionAPPRGN attaches on an upper left end of the aperture APTR (the graphicregion). Additionally, in this embodiment, as shown in FIG. 81(b),descriptions of the width WIDTH of the application region in the canvascoordinate system and the height HEIGHT of the application region in thecanvas coordinate system can be eliminated in the region element RGNELE.When the description of the width WIDTH of the application region in thecanvas coordinate system is eliminated in this manner, a value of thewidth WIDTH of the application region in the canvas coordinate systemmatches with a width size of the aperture APTR (the graphic region) as adefault value. Further, when the description of the height HEIGHT of theapplication region in the canvas coordinate system is eliminated, avalue of the height HEIGHT of the application region in the canvasregion is automatically set to a height of the aperture APTR as adefault value. Therefore, when the descriptions of the width WIDTH ofthe application region in the canvas coordinate system and the heightHEIGHT of the application region in the canvas coordinate system areeliminated, a size of the application region APPRGN #1 matches with asize of the aperture APTR (the graphic region). Matching default valueswhen the descriptions are eliminated with a position and a size of theaperture APTP (the graphic region) can facilitate a display size/displayposition setting method for each graphic object (a content element) inthe markup MRKUP (in a case where the descriptions of the informationare eliminated).

<Script Element>

The Script element describes a Script file for the Advanced Applicationto be evaluated as global code in the Application Startup Process.

XML Syntax Representation of Script element: <Script id = ID src =anyURI />

At the application startup, Script Engine shall load the script filereferred by URI in the src attribute, and then execute it as globalcode. [ECMA 10.2.10]

(a) src attribute

Describes the URI for the initial script file.

More intelligible explanations will be provided below.

FIG. 81(c) shows a data configuration in a script element SCRELE. Thescript SCRPT in this embodiment is based on Global Code (ECMA 10.2.10)which is set in the international standardization of ECMA. The scriptelement SCRELE describes contents of a script file SCRPT concerning anadvanced application ADAPL carried out in startup processing of anapplication. When an application is started up, the navigation managerNVMNG shown in FIG. 44 makes reference to a URI (a uniform resourceidentifier) written in src attribute information to download a scriptfile SCRPT which is used first. Immediately after this operation, anECMA script processor ECMASP interprets information of the downloadedscript file SCRPT based on Global Code (an ECMA script defined in ECMA10.2.10), and performs execution processing in accordance with a resultof interpretation. As shown in FIG. 81(c), script element ID informationSCRTID and src attribute information are written in the script elementSCRELE. Since the script element ID information SCRTID exists in thescript element SCRELE, reference can be readily made to a specificscript element SCRELE by using an API command, thereby facilitating APIcommand processing. Further, the src attribute information represents astorage position SRCSCR of a script file which is used first, and it iswritten in the form of a URI (a uniform resource identifier).

<Markup Element>

The Markup element describes the initial Markup file for the AdvancedApplication.

XML Syntax Representation of Markup element: <Markup id = ID src =anyURI />

In the application startup, after the initial Script file execution ifit exists, Advanced Navigation shall load the Markup file referred byURI in the src attribute.

(a) src attribute

Describes the URI for the initial Markup file.

More intelligible explanations will be provided below.

A markup element MRKELE whose data configuration is shown in FIG. 81(d)in detail is indicative of a file name and a storage position (a path)of a markup file which is displayed first with respect to an advancedapplication ADAPL. As shown in an example of FIG. 81(a), when a scriptelement SCRELE is written in an application element, an initial scriptfile defined in the script element SCRELE is executed first at the timeof starting up an application. Then, the advanced application managerADAMNG in the navigation manager NVMNG shown in FIG. 28 makes referenceto a URI (a uniform resource identifier) specified in src attributeinformation defined in the markup element MRKELE to load a correspondingmarkup file MRKUP. In this manner, the src attribute information shownin FIG. 81(c) represents a storage position SRCSCR (a storage position(a path) and a file name) of a script file which is used first, and itis written in the form of a URI (a uniform resource identifier).Furthermore, as shown in FIG. 82, when markup element ID informationMARKID depicted in FIG. 81(d) is utilized to make reference to themarkup element MRKELE based on an API command, API command processingcan be facilitated.

<Resource Element>

The Resource element describes the resource used by the AdvancedApplication. All Resource used by Advanced Application shall bedescribed by Resource element, except for API Managed Area.

XML Syntax Representation of Resource element: <Resource id = ID src =anyURI />

Playlist Manager shall activate the Advanced Application after allResources in Manifest are loaded into File Cache.

(a) src attribute

Describes the URI for the source location of the Resource. The valueshall be the absolute URI for one of the src attribute value describedin Resource Information element in Playlist. Relative URI shall not beused for this value.

More intelligible explanations will be provided below.

A resource element RESELE whose data configuration is shown in FIG.81(e) in detail will now be described. The resource element RESELErepresents information of a resource used in an advanced applicationADAPL. Moreover, all resources used in the advanced application ADAPLexcept an API management region must be written in a list of theresource elements RESELE. A resource specified in a list of the resourceelements RESELE in the manifest MNFST is loaded into the file cacheFLCCH. Then, the playlist manager PLMNG in the navigation manager NVMNGallows a corresponding advanced application ADAPL to enter an executionstate. The src attribute information in the resource element RESELEshown in FIG. 81(e) represents a storage position SRCRSC (a storageposition (a path) and a file name) of a corresponding resource, and itis written in the form of a URI (a uniform resource identifier). A valueof the storage position SRCRSC of the corresponding resource must bewritten by using a later-described URI (a uniform resource identifier)indicative of a position where the resource has been originally stored,and it represents one of src attribute information values written inresource information elements (resource information RESRCI) defined in aplaylist PLLST. That is, when a list of network source elements NTSELEis provided in the resource information RESRCI shown in (c) of FIG. 63Bor (e) of FIG. 66C, an optimum resource according to a networkthroughput in a network environment of the information recording andplayback apparatus 1 of a user can be selected with respect to the samecontents as shown in FIG. 67 or 68. In this manner, the network sourceelements NTSELE having src attribute information in which respectivestorage positions (paths) and file names of resources are written arerespectively set with respect to the plurality of resources having thesame advanced contents ADVCT (having different detailed attributes suchas resolutions or modified statuses of a display screen). A value of aURI (a uniform resource identifier) specified in the src attributeinformation in a parent element (a title resource element shown in (d)of FIG. 66B or an application resource element APRELE shown in (d) ofFIG. 63C) in which the network source element NTSELE is set must be setas a value of a storage position SRCRCS of a corresponding resourceshown in FIG. 81(e). As described above in conjunction with FIG. 68,when the network environment of the information recording and playbackapparatus 1 does not satisfy network throughput conditions specified inthe network source element NTSELE, a storage position (a path) and afile name specified in the src attribute information in the titleresource element or the application resource element APRELE areaccessed, and hence setting the storage position SRCRCS of thecorresponding resource shown in FIG. 81(e) by the above-described methodcan make access irrespective of the network environment of theinformation recording and playback apparatus 1. As a result, accesscontrol concerning the manifest MNFST by the advanced content playbackunit ADVPL can be facilitated.

At last, FIG. 84 shows a relationship between a data configuration in amanifest file MNFST depicted in FIG. 81 and a layout in a display screenwhich is displayed for a user.

FIG. 84(c) shows an example of a display screen displayed for a user.According to the display example shown in FIG. 84(c), various kinds ofbuttons from a play button 34 to an FF button 38 are arranged on a lowerside of the screen. An entire region in which the various buttons fromthe play button 34 to the FF button 38 are arranged is defined as anapplication region APPRGN. The display screen example shown in FIG.84(c) corresponds to a canvas coordinate system CNVCR, and an upper leftend position of the screen corresponds to a coordinate (0, 0) in thecanvas coordinate system CNVCRD. Based on the canvas coordinate systemCNVCRD, a coordinate at an upper left end of the application regionAPPRGN is expressed as (Xr, Yr). As described above, an arrangementposition of the application region APPRGN is written in a region elementRGNELE in the manifest file MNFST. The above-described (Xr, Yr)coordinate value is written in the form of “Xr” and “Yr” in the regionelement RGNELE as shown in FIG. 84(b), and a correspondence relationshipis indicated by a broken line v. Additionally, in the display screenexample shown in FIG. 84(c), a width of the application region APPRGN isdenoted by rwidth, and a height of the same is defined as rheight. Thewidth rwidth of the application region APPRGN is written as a value of awidth WIDTH of an application region in the canvas coordinate system inthe region element RGNELE as indicated by a broken line ξ, and a valueof the height rheight of the application region APPRGN is likewisewritten as a value of a height HEIGHT of the application region in thecanvas coordinate system in the region element RGNELE as indicated by abroken line π. Further, an arrangement position and a display size ofthe stop button 34 or the play button 35 in the application regionAPPRGN shown in FIG. 84(c) are specified in a corresponding markup fileMRKUP.XMU as indicated by a description following an asterisk “*”written immediately after the markup element MRKELE depicted in FIG.84(b). Further, a file name and a storage position (a path) with respectto the markup file MRKUP.XMU indicative of an arrangement and a size ofthe stop button 34 or the play button 35 are set as values of srcattribute information in the markup element MRKELE.

According to this embodiment, in various kinds of elements arranged in aplaylist PLLST, each of a title element TTELEM, a playlist applicationelement PLAELE, a primary audio video clip element PRAVCP, a secondaryaudio video clip element SCAVCP, a substitute audio video clip elementSBAVCP, a substitute audio clip element SBADCP, an advanced subtitlesegment element ADSTSG, an application segment element APPLSG, a chapterelement, a pause-at element PAUSEL and an event element EVNTEL has IDinformation therein as shown in FIG. 82(a), and each of various elementsfrom a streaming buffer element STRBUF to a scheduled control listelement does not have ID information therein as shown on a right-handside in FIG. 82(a). In this embodiment, as shown in FIG. 82(c), IDinformation is set at a leading position of an element to whichreference is made relatively often in response to an API command. Inaccordance with this configuration, the ID information is used to makereference to a specific element from the API command. As a result,access control processing with respect to each element based on the APIcommand becomes easy, thereby facilitating access control/processingwith respect to each element based on the API command. Furthermore,since the ID information is arranged at the top of each element, theplaylist manager PLMNG (see FIG. 28) can readily retrieve the IDinformation in each element. Moreover, this embodiment is characterizedin that the “ID information” is utilized for identification of eachelement in place of specifying a “number”. As shown in FIG. 51 or FIGS.3A and 3B, a playlist PLLST can be updated. If a “number” is given foridentification of each element, processing to shift the number isrequired every time the playlist PLL is updated. On the other hand, whenthe “ID information” is specified for identification of each element,the ID information does not have to be changed at the time of updatingthe playlist PLLST. Therefore, there can be obtained characteristicsthat change processing at the time of updating the playlist can befacilitated. FIG. 82(b) shows a utilization example of the IDinformation in each element based on an API command. As a positionutilizing example according to this embodiment, title ID informationTTID (see (b) of FIG. 24A) can be specified based on an API command toexecute transition processing of titles. Moreover, as anotherutilization example, chapter element ID information CHPTID (see (d) ofFIG. 24B) can be specified based on an API command to effect controlover access to a specific chapter.

A storage position of data or a file which is stored in the data cacheDTCCH and a download method corresponding to the storage position aredescribed in conjunction with FIGS. 64A and 64B, FIGS. 65A to 65D, FIG.70, FIG. 71, FIGS. 54A and 54B, FIGS. 55A and 55B, FIGS. 56A and 56B,FIGS. 63A to 63C, FIGS. 66A to 66C and FIG. 67, respectively. For thepurpose of summing up the contents mentioned above, a descriptionexample in a playlist focusing on a description about a storage positionof each playback/display object and handling of a storage position ofeach playback/display object corresponding to this description examplewill now be explained with reference to FIG. 83. FIG. 83(a) shows anexample of a screen displayed for a user. In a screen displayed for auser, a main title 31 displayed by main video MANVD in a primary videoset PRMVS is displayed on an upper left side, and sub video SUBVD in asecondary video set SCDVS is displayed on an upper right side. Further,various buttons from the stop button 34 to the FF button 38corresponding to an advanced application ADAPL are arranged on a lowerside of the screen, and a telop character 39 constituted of an advancedsubtitle ADSBT is displayed on an upper side in the main title 31. Inthe example shown in FIG. 83, the main video MANVD in the primary videoset PRMVS constituting the main title 31 and its relevant informationare stored in the information storage medium DISC as shown in FIG.83(b). The information concerning the main video MANVD in the primaryvideo set PRMVS is stored at a directory (a folder) /HVDVD_TS/ in theprimary video set PRMVS, a file name corresponding to a time map PTMAPof the primary video set is RMVS.MAP, a file name corresponding toenhanced video object information EVOBI is PRMVS.VTI, and a file namecorresponding to a primary enhanced video object P-EVOB is PRMVS.VE0.Furthermore, it is assumed that a relevant file of the sub video SUBVDin the secondary video set SCDVS is stored in the network server asshown in FIG. 83(c). An address of the corresponding network serverNTSRV in the network (URL: uniform resource location) iswww.toshiba.co.jp, and a relevant file is stored at a directory (afolder) of HD_DVD. As shown in FIG. 83(c), there are an SCDVS1.EV0 filehaving a high resolution and a high network throughput required at thetime of transfer and an SCDVS2.EV0 file which has a low resolution, mayhave a low network throughput at the time of transfer and has asecondary enhanced video object S-EVOB recorded therein as correspondingsub video SUBVD, and each of SCDVS1.MAP and SCDVS2.MAP are stored as atime map STMAP of a secondary video set used in each secondary enhancedvideo object S-EVOB file. In this embodiment, the secondary enhancedvideo object S-EVOB and the file of the time map STMAP of the secondaryvideo set which is used for this object (makes reference to the file)are stored at the same directory (a folder) in the same network serverNTSRV together, and their file names excluding extensions are set tomatch with each other. Additionally, a file concerning an advancedsubtitle ADSBT which represents the telop character 39 is stored in thenetwork server NTSRV shown in FIG. 83(d). It is assumed that an addressname of the network server NTSRV (URL: uniform resource location) iswww.ando.co.jp and various kinds of files are stored in a title TITLEfolder (a directory) at this address. A file name of a manifest fileMNFST used when accessing the advanced subtitle ADSBT is MNFSTS.XMF,there are three markup MRKUPS files of the advanced subtitle in which adisplay character when displaying the telop character 39, its displayposition and its display size are defined, and file names of these filesare set as MRKUPS1.XAS, MRKUPS2.XAS and MRKUPS3.XAS, respectively. Adisplay situation and modification of the telop character 39 which isdisplayed in accordance with a network environment of a user varydepending on each markup file MRKUP, and a value of a networkthroughputrequired for download in the file cache FLCCH also varies. A fontconversion table used in the MRKUPS1.XAS is recorded in FONTS1.XAS, anda font file used in the MRKUPS2.XAS is MRKUPS2.XAS. Additionally, aresource file concering the advanced application ADAPL from the stopbutton 34 to the FF button 38 shown in FIG. 83(a) is stored in a routein the persistent storage PRSTR depicted in FIG. 83(e), and a playlistfile of a playlist PLLST having a data configuration illustrated in FIG.83(f) is stored in the same persistent storage PRSTR under a file namePLLST.XPL. Further, a file name of a manifest file MNFST stored in thepersistent storage PRSTR is MNFST.XMF, and a file name of acorresponding markup file MRKUP is MRKUP.XMU. Furthermore, images ofrespective buttons from the stop button 34 to the FF button 38 shown inFIG. 83(a) are stored in the form of JPG, and each of these images isstored under a file name IMAGE_***.JPG. Furthermore, a script file SCRPTcorresponding to processing provoked when a user sets the various kindsof buttons is stored in the form of SCRPT_$$$.JS. A file name andstorage destination information of a time map file STMAP (PRMVS.MAP)stored in the information recording medium DISC in accordance with themain video MANVD in the primary video set PRMVS representing the maintitle 31 are written in a description section of an index informationfile storage position SRCTMP (src attribute information) of aplayback/display object to be referred in a primary audio video clipelement PRAVCP existing in title information TTINFO in a playlist PLLSTas shown in FIG. 83(f). In this embodiment, as shown in FIG. 12, a timemap PTMAP (PRMVS.MAP) of the primary video set is first accessed inaccordance with a storage position SRCPMT written in the src attributeinformation in the primary audio video clip element PRAVCP. Then, a filename (PRMVS.VTS) of enhanced video object information EVOBI which isreferred is extracted from the time map PTMAP (a PRMVS.MAP file) in theprimary video set, and this file is accessed. Subsequently, a file name(PRMVS.EVOB) of a primary enhanced video object P-EVOB which is referredis read in the enhanced video object information EVOBI (a PRMVS.VTIfile), a PRMS.EV0 file in which the primary enhanced video object P-EVOBis recorded is accessed, and this file is downloaded into the data cacheDTCCH. Furthermore, a storage position of one time map file (SCDVS.MAP)in a plurality of time map files STMAP shown in FIG. 83(c) is written inan index information file storage position SRCPTM (src attributeinformation) of a playback/display object to be referred in a secondaryaudio video clip element SCAVCP. Moreover, file names (SCDVS2.MAP) ofthe remaining time maps STMAP in the secondary video set are written insrc attribute information in a network source element NTSELE arranged ina corresponding secondary audio video clip element SCAVCP. Allowableminimum value information NTTRPT (networkThroughput attributeinformation) of a network throughput which is guaranteed whendownloading a corresponding secondary enhanced video object S-EVOB intothe data cache DTCCH is written in the network source element NTSELE. Asshown in FIG. 67, the playlist manager PLMNG in the navigation managerNVMNG previously has information of a network throughput in a networkenvironment where the information recording and playback apparatus 1 isplaced. The playlist manager PLMNG reads a value of the allowableminimum value information NTTRPT (the networkThroughput attributeinformation) of a network throughput in the network source elementNTSELE written in the secondary audio video clip element SCAVCP, selectsa file name of a secondary enhanced video object S-EVOB which should beloaded into the data cache DTCCH in accordance with a judgment ruleshown in FIG. 68, and performs control to access a time map STMAP of asecondary video set which is stored in the same folder and has the samefile name except an extension. At the time of download into the datacache DTCCH, the selected time map STMAP file of the secondary video setis first downloaded, a name of a secondary enhanced video object S-EVOBfile referred in the time map STMAP of the secondary video set is read,and then the secondary enhanced video object S-EVOB file is downloadedin accordance with the read file name. Moreover, a storage position (apath) and a file name of the manifest file MNFSTS (MNSFTS.XMF) shown inFIG. 83(d) are written in manifest file storage position SRCMNF (srcattribute information) information of an advanced subtitle in anadvanced subtitle segment element ADSTSG. File names and storagepositions (paths) of files other than the manifest file MNFST stored inthe network server NTSRV shown in FIG. 83(d) are written in srcattribute information in an application resource element APRELE or anetwork source element NTSELE in the advanced subtitle segment elementADSTSG. As described above, a plurality of markup files MRKUPS(MRKUPS1.XAS, MRKUPS2.XAS and MRKUPS3.XAS) having different networkthroughputs in data transfer in accordance with a modifying situation ora font when displaying an advanced subtitle are recorded in the networkserver NTSRV, and a plurality of font files FONTS (FONTS1.XAS andFONTS2.XAS) also exist in the network server NTSRV. Allowable minimumvalue information NTTRPT of a network throughput required whendownloading each markup file MRKUP and each font file FONT into the filecache FLCCH is written in a network source element NTSELE in theadvanced subtitle segment element ADSTSG. For example, according toinformation of the network source element NTSELE in the advancedsubtitle segment element ADSTSG shown in FIG. 83(f), allowable minimumvalue information NTTRPT of a network throughput guaranteed whendownloading MRKUPS3.XAS as a markup file MRKUPS into the file cache is56 Kbps, and a value of allowable minimum value information NTTRPT of anetwork throughput required when downloading the MRKUPS2.XAS file intothe file cache FLCCH is 1 Mbps. The playlist manager PLMNG in thenavigation manger NVMNG makes reference to a value of the networkthroughput 52 in a network path 50 in a network environment where theinformation recording and playback apparatus 1 is placed, sets anoptimum markup file MRKUPS which should be downloaded into the datacache DTCCH based on a selection rule shown in FIG. 68, and accesses themarkup file MRKUPS to download this file into the data cache DTCCH. Atthis time, a corresponding font file FONTS is also simultaneouslydownloaded into the data cache DTCCH. As described above, it is assumedthat a playlist file PLLST having data information shown in FIG. 83(f)is stored under a file name PLLST.XPL in the persistent storage PRSTR asshown in FIG. 83(e). The playlist manager PLMNG in the navigationmanager NVMNG first reads the playlist file PLLST (PLLST.XPL) stored inthe persistent storage PRSTR. A file name and a storage position (apath) of a manifest file MNFST (MNFST.XMF) stored in the persistentstorage PRSTR are written in a manifest file storage position URIMNF(src attribute information) including initial setting information of anadvanced application in an application segment element APPLSG in objectmapping information OBMAPI existing in title information TTINFO in theplaylist PLLST shown in FIG. 83(f). Further, file names and storagepositions of a markup file MRKUP (MRKUP.XMU), various kinds of scriptfiles SCRPT (SCRPT_$$$.JS) and still images file IMAGE (IMAGE_***.JPG)concerning the manifest file are written in a storage position SRCDTC(src attribute information) of data or a file which is downloaded intothe data cache in an application resource element APRELE in theapplication segment element APPLSG. The playlist manager PLMNG in thenavigation manager NVMNG can read a list of the application resourceelements APRELE in the application segment element APPLSG to be aware ofa name and an original storage position of a resource file which shouldbe previously stored in the file cache FLCCH before displaying acorresponding advanced application ADAPL in the screen. When informationof a resource which should be stored in the file cache FLCCH is writtenin the application resource element APRELE list in the applicationsegment element APPLSG of the playlist file PLLST in this manner, thenavigation manager NVMNG can efficiently store a necessary resource inthe data cache DTCCH at a high speed in advance.

FIG. 84 shows a relationship between an example of a display screenwhich is displayed for a user and a data configuration in a playlistPLLST in this embodiment. The relationship between the display screenand the data configuration in the playlist has been described inconjunction with each of FIGS. 79A, 79B and 81. However, describing therelationship between the display screen example which is displayed for auser and the data configuration in each of the playlist PLLST and themanifest file MNFST with reference to FIG. 84 can systematicallycomprehend the whole. An entire screen region which is displayed for auser shown in FIG. 84(c) is called an aperture APTR. Further, acoordinate value at a lower right position of the aperture APTR in thecanvas coordinate system CNVCRD can be represented in the form of (Xa,Ya), and the coordinate value corresponds to aperture size informationAPTRSZ. As a broken line α indicates a correspondence relationship, theaperture size information APTRSZ is written in an aperture element APTRin the configuration information CONFGI in the playlist PLLST.Furthermore, an upper left end coordinate of a screen showing a maintitle 31 representing main video MANVD in a primary video set PRMVS isexpressed as (Xp1, Yp1), and a canvas coordinate CNVCRD value at a lowerright end position is expressed as (Xp2, Yp2). A screen size of the maintitle 31 is defined by a video attribute item element VABITM which isindicated as “1” by media index number information INDEX in a videoattribute item element VABITM in media attribute information MDATRI inthe playlist PLLST. Broken lines β and γ indicate a relationship betweenan X coordinate value APARX1 at an upper left end position and a Ycoordinate value APARY1 at an upper left end position and a relationshipbetween an X coordinate value APARX2 at a lower right end position and aY coordinate value APARY2 at a lower right end position of a videodisplay screen in the aperture set by the video attribute item elementVABITM which is set as “1” by a value of the media index numberinformation INDEX. Moreover, as shown in FIG. 84(c), a value of thecanvas coordinate CNVCRD at an upper left end is represented as (Xs1,Yx1) and a value of the canvas coordinate CNVCRD at a lower right end isrepresented as (Xs2, Ys2) in the display screen of sub video SUBVD in asecondary video set SCDVS. Display screen region information of the subvideo SUBVD in the secondary video set SCDVS is written in a videoattribute item element VABITM which is set as “2” by a value of themedia index number information INDEX as shown in FIG. 84(a), and acorrespondence relationship is set as indicated by broken lines δ and ε.A display position and a display size of a playback/display object(included in a primary video set PRMVS and a secondary video set SCDVS)indicative of picture information on a display screen in this manner arewritten by using the video attribute item element VABITM. As shown inFIG. 10, main video MANVD and sub video SUBVD exist as moving picturesdisplayed to a user exist in the primary video set PRMVS and thesecondary video set SCDVS. A display screen position and sizeinformation in a screen displayed for a user in each of the main videoMANVD and the sub video SUBVD can be specified by making reference tothe corresponding video attribute item element VABITM from a main videoelement MANVD and a sub video element SUBVD in object mappinginformation OBMAPI (track number assignment information). That is, asshown in FIG. 84(a), when a value of an index number MDATNM of acorresponding media attribute element in media attribute information isspecified as “1” in the main video element MANVD in the primary audiovideo clip element PRAVCP written in the object mapping informationOBMAPI in title element information TTELEM existing in title informationTTINFO in a playlist PLLST, the video attribute item element VABITMhaving a value of the media index number information being set to “1”can be specified as indicated by a broken line η. As a result, a displayscreen size and a display position of the main video MANVD are set asshown in FIG. 84(c). Likewise, in regard to a display screen size and adisplay position concerning sub video SUBVD in a secondary video setSCDVS, when a value of an index number MDATNM of a corresponding mediaattribute element in media attribute information in a sub video elementSUBVD written in a secondary audio video clip element SCAVCP is set to“2”, reference is made to a video attribute item element VABITM having avalue of media index number information INDEX being set to “2” as shownin a relationship indicated by a broken line ξ, thereby specifying thedisplay screen size and the display screen position of the correspondingsub video SUBVD in a screen displayed for a user as shown in FIG. 84(c).Moreover, in regard to audio information, likewise, when a value ofmedia index number information INDEX in an audio attribute item elementAABITM is specified in an main audio element MANAD or a sub audioelement SUBAD, an attribute of the audio information can be specified.In a specific description example shown in FIG. 84(a), there is only oneaudio attribute item element AABITM existing in media attributeinformation MDATRI for convenience's sake, and a value of its mediaindex number information INDEX is set to “1”. In accordance with thisconfiguration, three main audio elements MANAD each having a value of anindex number MDATNM of a corresponding media attribute element in mediaattribute information being set to “1” are set in a primary audio videoclip element PRAVCP, and respective pieces of track number informationTRCKAT “1” to “3” are set with respect to the main audio elements MANAD.Additionally, likewise, a sub audio element SUBAD in which a value of anindex number MDATNM of a corresponding media attribute element in mediaattribute information is set to “1” and a value of track numberinformation TRCKAT is set to “4” is set in a secondary audio video clipelement SCAVCP. Four audio track elements ADTRK are arranged in tracknavigation information TRNAVI in accordance with the track numberinformation TRCKAT set in each of the main audio element MANAD and thesub audio element SUBAD, and an audio language code, an audio languagecode extension descriptor ADLCEX and a flag USIFLG indicative of whetheruser selection is enabled are written in each audio track element ADTRK,thereby facilitating selection of an audio track by a user. It is to benoted that each main audio element MANAD and each sub audio elementSUBAD in the object mapping information OBMAPI (the track numberassignment information) and the audio track element ADTRK in the tracknavigation information TRNAVI are linked to each other through the tracknumber information TRCKAT (the audio track number ADTKNM), and such anassociating relationship as indicated by broken lines θ, ι, λ and κ isprovided. Further, a position and a size of the application regionAPPRGN representing the advanced application ADAPL in the display screenshown in FIG. 84(c) are written in the manifest file MNFST. That is, avalue of a canvas coordinate CNVCRD at an upper left end position of theapplication region APPRGN shown in FIG. 84(c) is expressed as (Xr, Yr).Furthermore, as shown in FIG. 84(c), a width in the application regionAPPRGN is represented as rwidth, and a height in the same is representedas rheight. A coordinate value (Xr, Yr) of the canvas coordinate systemCNVCRD at an upper left end of the application region APPRGN is writtenas “Xr” and “Yr” in the region element RGNELE in the manifest fileMNFST.XMF as indicated by a broken line ν. Furthermore, likewise, thewidth rwidth and the height rheight of the application region APPRGN arewritten in the form of a value of width attribute information and avalue of height attribute information in the region element RGNELE inthe application element, and an association relationship is indicated byalternate long and short dash lines ξ and π. Moreover, information of afile name and a storage position (a path) of the manifest file MNFSTshown in FIG. 84(b) is written in an application resource element APRELEwritten in an ApplicationSegment APPLSG in object mapping informationOBMAPI written in title element information TTELEM existing in titleinformation TTINFO in a playlist PLLST depicted in FIG. 84(a), and FIG.84 shows its relationship by an alternate long and short dash line μ.Additionally, a display position and a display size of each graphicobject (a content element) in each application region APPRGN from theplay button 35 to the FF button 38 shown in FIG. 84(c) are written in amarkup file MRKUP. Further, a file name and a storage position (a path)of the markup file MRKUP.XMU are written in src attribute information ina markup element MRKELE in a manifest file MNFST (an applicationelement).

Effects of the above-described embodiments can be simply summed up asfollows.

1. Fetching necessary contents at a predetermined timing in advance inaccordance with management information can effect simultaneousplayback/display of a plurality of playback/display objects withoutinterrupting playback/display for a user.

2. Providing timing control information for playback/display accordingto a time axis in the management information enables complicatedprogramming concerning a display start/display end timing of movingpictures or a switching timing of moving pictures/animation, and theexpression for a user can be greatly improved as compared with a currentweb page screen.

As shown in FIG. 12, the present embodiment has such a structure thatthe playlist PLLST refers to the time map PTMAP of the primary video setand the time map PTMAP of the primary video set refers to enhanced videoobject information EVOBI. Moreover, the embodiment has such a structurethat the enhanced video object information EVOBI can refer to a primaryenhanced video object P-EVOB and that accessing is done sequentially byway of the path of playlist PLLST→time map PTMAP of primary videoset→enhanced video object information EVOBI→primary enhanced videoobject P-EVOB and then the reproduction of the primary enhanced videoobject data P-EVOB is started. The concrete contents of the time mapPTMAP in the primary video set referred to by the playlist PLLST of FIG.12 will be explained. As shown in FIG. 54(c), a field in which an indexinformation file storage location SRCTMP (src attribute information) ofa representation object to be referred to is to be written exists in aprimary audio-video clip element PRAVCP in the playlist PLLST. Ininformation to be written in the index information file storage locationSRCTMP (src attribute information) of the representation object to bereferred to, the storage location (path) of the time map PTMAP of theprimary video set and its file name are to be written as shown in FIG.18. This makes it possible to refer to the time map PTMAP of the primaryvideo set. FIG. 85 shows a detailed data structure of the time map PTMAPof the primary video set.

<Video Title Set Time Map Information (VTS TMAP)>

Video Title Set Time Map Information (VTS_TMAP) consists of one or moreTime Map (TMAP) which is composed of a file, as shown in FIG. 85(a).

The TMAP consists of TMAP General Information (TMAP_GI), one or moreTMAPI Search Pointer (TMAPI_SRP), same number of TMAP Information(TMAPI) as TMAPI_SRP and ILVU Information (ILVUI), if this TMAP is forInterleaved Block.

TMAP Information (TMAPI), an element of TMAP, is used to convert from agiven presentation time inside an EVOB to the address of an EVOBU or aTU. A TMAPI consists of one or more EVOBU/TU Entries. One TMAPI for oneEVOB which belongs to Contiguous Block shall be stored in one file, andthis file is called as TMAP.

On the other hand, TMAPIs for EVOBs which belong to the same InterleavedBlock shall be stored in one same file.

The TMAP shall be aligned on the boundary between Logical Blocks. Forthis purpose each TMAP may be followed by up to 2047 bytes (containing‘00h’)

More intelligible explanations will be provided below.

Information written in the time map file PTMAP of the primary video setshown in FIG. 12 is called video title set time map informationVTS_TMAP. In the embodiment, the video title set time map informationVTS_TMAP is composed of one or more time maps TMAP (PTMAP) as shown inFIG. 85(a). Each of the time maps TMAP (PTMAP) is composed of a file. Asshown in FIG. 85(b), in the time map TMAP (PTMAP), there exist time mapgeneral information TMAP_GI, one or more time map information searchpointers TMAPI_SRP, and as many pieces of time map information TMAPI asthere are time map information search pointers TMAPI_SRP. When the timemap TMAP (PTMAP) corresponds to the time map TMAP (PTMAP) of aninterleaved block, ILVU information ILVUI exists in the time map TMAP(PTMAP). Time map information TMAPI constituting a part of the time mapTMAP (PTMAP) is used to convert the display time specified in thecorresponding primary enhanced video object data P-EVOB into a primaryenhanced video object unit P-EVOBU or the address of a time unit TU.Although the contents of the time map information are not shown, theyare composed of one or more enhanced video object unit entries EVOBU_ENTor one or more time unit entries. In the enhanced video object unitentry EVOBU_ENT, information on each enhanced video object unit EVOBU isrecorded. That is, in an enhanced video object unit entry EVOBU_ENT, thefollowing three types of information are recorded separately:

1. Size Information 1STREF_SZ on a First Reference Picture (e.g., IPicture) in the Corresponding Enhanced Video Object Unit: Written in theNumber of Packs

2. Playback Time EVOBU_PB_TM of the Corresponding Enhanced Video ObjectUnit EVOBU: Expressed in the Number of Video Fields

3. Size EVOBU_SZ Information on the Corresponding Enhanced Video ObjectUnit: Expressed in the Number of Packs.

A piece of time map information TMAPI corresponding to a primaryenhanced video object P-EVOB recorded as a continuous “block” in aninformation storage medium DISC has to be recorded as a single file. Thefile is called a time map file TMAP (PTMAP). In contrast, each piece oftime map information TMAPI corresponding to a plurality of primaryenhanced video objects constituting the same interleaved block has to berecorded collectively in a single file for each interleaved block.

<TMAP General Information (TMAP_GI)>

(1) TMAP ID

Describes “HDDVD_TMAP00” to identify Time Map file with character setcode of ISO 8859-1.

(2) TMAP EA

Describes the end address of this TMAP with RLBN from the first LB ofthis TMAP.

(3) TMAP VERN

Describes the version number of this TMAP.

-   -   TMAP version . . . 0001 0000b: version 1.0        -   Others: reserved

(4) TMAP TY

-   -   Application type . . . 0001b: Standard VTS        -   0010b: Advanced VTS        -   0011b: Interoperable VTS        -   Others: reserved    -   ILVUI . . . 0b: ILVUI doesn't exist in this TMAP, i.e. this TMAP        is for Contiguous Block or others.        -   1b: ILVUI exists in this TMAP, i.e. this TMAP is for            Interleaved Block.    -   ATR . . . 0b: EVOB ATR doesn't exist in this TMAP, i.e. this        TMAP is for Primary Video Set.        -   1b: EVOB ATR exists in this TMAP, i.e. this TMAP is for            Secondary Video Set. (This value is not allowed in TMAP for            Primary Video Set.)    -   Angle . . . 00b: No Angle Block        -   01b: Non Seamless Angle Block        -   10b: Seamless Angle Block        -   11b: reserved

Note: The value ‘01b’ or ‘10b’ in “Angle” may be set if the value of“Block” in ILVUI=‘1b’.

(5) TMAPI_Ns

Describes the number of the TMAPIs in this TMAP.

Note: If this TMAPI is for an EVOB which belongs to Contiguous Block inStandard VTS or Advanced VTS, or to Interoperable VTS, this value shallbe set to ‘1’.

(6) ILWI_SA

Describes the start address of the ILVUI with RBN from the first byte ofthis TMAP.

If the ILVUI does not exist in this TMAP (i.e. the TMAP is forContiguous Block in Standard VTS or Advanced VTS, or for InteroperableVTS), this value shall be filled with ‘1b’.

(7) EVOB_ATR_SA

Describes the start address of the EVOB_ATR with RBN from the first byteof this TMAP.

This value shall be filled with ‘1b’ because this TMAP for Primary VideoSet (Standard VTS and Advanced VTS) and Interoperable VTS doesn'tinclude EVOB_ATR.

(8) VTSI_FNAME

Describes the filename of VTSI which this T IAP refers, in ISO 8859-1.

Note: If the length of filename is less than 255, unused fields shall befilled with ‘Ob.

More intelligible explanations will be provided below.

FIG. 85(c) shows the data structure of time map general informationTMAP_GI shown in FIG. 85. A time map identifier TMAP_ID is informationwritten at the beginning of the time map file of a primary video set.Therefore, as information to identify the file as a time map file PTMAP,“HDDVD_TMAP00” is written in the time map identifier TMAP_ID. The timemap end address TMAP_EA is written using the number of relative logicalblocks RLBN (Relative Logical Block Number), counting from the firstlogical block. In the case of the contents corresponding to theHD-DVD-Video written standards version 1.0, “0001 000b” is set as thevalue of the time map version number TMAP_VERN. In time map attributeinformation TMAP_TY, application type, ILVU information, attributeinformation, and angle information are written. When “0001b” is writtenas application type information in the time map attribute informationTMAP_TY, this indicates that the corresponding time map is a standardvideo title set VTS. When “0010b” is written, this indicates that thecorresponding time map is an advanced video title set VTS. When “0011b”is written, this indicates that the corresponding time map is aninteroperable video title set. In the embodiment, an interoperable videotitle set can rewrite the images recorded according to the HD_VRstandard to ensure the compatibility with the HD_VR standard, a videorecording standard capable of recording, reproducing, and editing,differently from the HD_DVD-Video standard, a playback-only videostandard, and make the resulting data structure and managementinformation reproducible under the playback-only HD_DVD-Video standards.What is obtained by rewriting the management situation and a part of theobject information related to the video information and its managementinformation recorded according to the HD_VR standard which enablesrecording and editing is called interoperable content. Its managementinformation is called an interoperable video title set VTS. (Fordetails, refer to the captions in FIG. 87.) When the value of ILVUinformation ILVUI in the time map attribute information TMAP_TY is “0b,”this indicates that ILVU information ILVUI does not exist in thecorresponding time map TMAP (PTMAP). In this case, the time map TMAP(PTMAP) indicates a time map TMAP (PTMAP) corresponding to primaryenhanced video object data P-EVOB recorded in a form other thanconsecutive blocks or interleaved blocks. When the value of the ILVUinformation ILVUI is “1b,” this indicates that ILVU information ILVUIexists in the corresponding time map TMAP (PTMAP) and that thecorresponding time map TMAP (PTMAP) corresponds to an interleaved block.When the value of attribute information ATR in the time map attributeinformation TMAP_TY is “0b,” this indicates that enhanced video objectattribute information EVOB_ATR does not exist in the corresponding timemap TMAP (PTMAP) and that the corresponding time map TMAP (PTMAP)corresponds to a primary video set PRMVS. When the value of attributeinformation ATR in the time map attribute information TMAP_TY is “1b,”this indicates that enhanced video object attribute information EVOB_ATRexists in the corresponding time map TMAP and that the correspondingtime map TMAP corresponds to the time map STMAP corresponding to asecondary video set SCDVS. Moreover, when the value of angle informationANGLE in time map attribute information TMAP_TY is “00b,” this indicatesthat there is no angle block. When the value of angle information ANGLEis “01b,” this indicates that the angle block is not seamless (or suchthat the angle cannot be changed continuously at the time of anglechange). When the value of angle information ANGLE is “10b,” thisindicates that the angle block is seamless (or such that the angle canbe changed seamlessly (continuously). A value of “11b” is reserved for areserved area. When the value of ILVU information ILVUI in the time mapattribute information TMAP_TY is set to “1b,” the value of the angleinformation ANGLE is set to “01b” or “10b.” The reason is that, whenthere is no multi-angle in the embodiment (or when there is no angleblock), the corresponding primary enhanced video object P-EVOB does notconstitute an interleaved block. In contrast, when a primary enhancedvideo object P-EVOB has multi-angle video information (or there is anangle block), the corresponding primary enhanced video object P-EVOBconstitutes an interleaved block. Information on the number of pieces oftime map information TMAPI_Ns indicates the number of pieces of time mapinformation TMAPI in a time map TMAP (PTMAP). In the embodiment of FIG.85(b), since an n number of pieces of time map information TMAPI existin time map TMAP (PTMAP) #1, “n” is set in the value of the informationon the number of pieces of time map information TMAPI_Ns. In theembodiment, under the following conditions, “1” must be set in the valueof the information on the number of pieces of time map informationTMAPI_Ns:

-   -   When time map information TMAPI is shown for a primary enhanced        video object P-EVOB belonging to consecutive blocks in a        standard video title set    -   When time map information TMAPI corresponds to a primary        enhanced video object P-EVOB included in consecutive blocks in        an advanced video title set    -   When time map information TMAPI corresponds to a primary        enhanced video object P-EVOB belonging to an interoperable video        title set

Specifically, in the embodiment, when a primary enhanced video objectP-EVOB constitutes an interleaved block, not consecutive blocks, timemap information TMAPI is set in each interleaved unit or at each angle,enabling conversion into an address to be accessed (from specified timeinformation) for each interleaved unit or at each angle, which enhancesthe convenience of access.

Furthermore, the starting address ILVUI_SA of ILVUI is written in thenumber of relative bytes (Relative Byte Number), counting from the firstbyte in the corresponding time map file TMAP (PTMAP). If ILVUinformation ILVUI is absent in the corresponding time map TMAP (PTMAP),the value of he starting address ILVUI_SA of ILVUI has to be filled inwith the repetition of “1b.” That is, in the embodiment, the fieldILVUI_SA of the starting address of ILVUI is supposed to be written in 4bytes. Accordingly, when ILVU information is not present in thecorresponding time map TMAP (PTMAP) as described above, all the first4-byte field is filled with “1b.” Moreover, as described above, whenILVU information ILVUI is not present in the time map TMAP (PTMAP) asdescribed above, this means the time map TMAP (PTMAP) corresponding toconsecutive blocks in a standard video title set or advanced video titleset, or interoperable video title set. The starting address EVOB_ATR_SAof enhanced video object attribute information arranged next is writtenin the number of relative bytes RBN (Relative Byte Number), countingfrom the starting byte in the corresponding time map file TMAP (PTMAP).In the embodiment, since there is no enhanced video object attributeinformation EVOB_ATR in the time map TMAP (PTMAP) of the primary videoset PRMVS, all the field (4 bytes) of the starting address EVOB_ATR_SAof the enhanced video object attribute information has to be filled with“1b.” Although the space in the starting address EVOB_ATR_SA of theenhanced video object attribute information is seemingly meaningless,the data structure of time map general information TMAP_GI shown in FIG.85(c) is caused to coincide with the data structure of time map generalinformation TMAP_GI in the time map of the secondary video set shown inFIG. 88(c), thereby making the data structure common to both of them,which helps simplify the data processing in the advanced contentplayback section ADVPL. Using FIG. 12, explanation has been given to thecase where the time map PTMAP of the primary video set can refer to theenhanced video object information EVOBI. As information used to refer tothe enhanced video object information EVOBI, the file name VTSI_FNAME ofvideo title set information shown FIG. 85(c) exists. The fill-in spaceof the file name VTSI_FNAME of video title set information is set to 255bytes. If the length of the file name VTSI_FNAME of video title setinformation is shorter than 255 bytes, all the remaining part of the255-byte space must be filled with “0b.”

<TMAPI Search Pointer (TMAPI_SRP)>

(1) TMAPI_SA

Describes the start address of the TMAPI with RBN from the first byte ofthis TMAP.

(2) EVOB_INDEX

Describes the index number of this EVOB which this TMAPI refers. Thisvalue shall be same as that of EVOB_INDEX in VTS_EVOBI of the EVOB whichthe TMAPI refers, and shall be different from that of other TMAPIs.

Note: This value shall be ‘1’ to ‘1998’.

(3) EVOBU_ENT_Ns

Describes the number of EVOBU_ENT for the TMAPI.

(4) ILVU_ENT_Ns

Describes the number of ILVU_ENT for the TMAPI.

If the ILVUI does not exist in this TMAP (i.e. the TMAP is forContiguous Block in Standard VTS or Advanced VTS, or Interoperable VTS),this value shall be set to ‘0’.

More intelligible explanations will be provided below.

FIG. 85(d) shows the data structure of a time map information searchpointer TMAPI_SRP shown in FIG. 85(b). The starting address TMAPI_SA oftime map information is written in the number of relative bytes RBN(Relative Byte Number), counting from the starting byte in thecorresponding time map file TMAP (PTMAP). The index number EVOB_INDEX ofthe enhanced video object represents the index number of the enhancedvideo object EVOB referred to by the corresponding time map informationTMAPI. The value of the index number EVOB_INDEX of the enhanced videoobject shown in FIG. 85(d) is caused to coincide with the value set inthe index number EVOB_INDEX of the enhanced video object in video titleset enhanced video object information VTS_EVOBI shown in FIG. 86(d).Moreover, the index number EVOB_INDEX of the enhanced video object shownin FIG. 85(d) has to be set to a value different from the value setaccording to different time map information TMAPI. This causes a uniquevalue (or a different value from the value set in another time mapinformation search pointer TMAPI_SRP) to be set in each time mapinformation search pointer TMAPI_SRP. Here, any value in the range from“1” to “1998” has to be set as the value of the index number EVOB_INDEXof the enhanced video object. In the following information on the numberof enhanced video object unit entries EVOBU_ENT_Ns, information on thenumber of enhanced video object unit entries EVOBU_ENT present in thecorresponding time map information TMAPI is written. Moreover, ininformation on the number of ILVU entries ILVU_ENT_Ns, information onthe number of ILVU entries ILVU_ENT_Ns written in the corresponding timemap TMAP (PTMAP) is written. In the example of FIG. 85(e), since an inumber of ILVU entries are present in time map TMAP (PTMAP) #1, a valueof “i” is set as the value of information on the number of IVLU entriesILVU_ENT_Ns. For example, when a time map TMAP (PTMAP) corresponding toconsecutive blocks (or uninterleaved blocks) in an advanced video titleset or consecutive blocks in a standard video title set or aninteroperable video title set has been written, there is no ILVUinformation ILVUI in the time map TMAP (PTMAP). Therefore, the value ofinformation on the number of ILVU entries ILVU_ENT_Ns is set to “0.”FIG. 85(e) shows the data structure of ILVU information ILVUI.

<ILVU Information (ILVUI)>

ILVU Information is used to access each Interleaved Unit (ILVU).

ILVUI starts with one ore more ILVU Entries (ILVU_ENTs). This exists ifthe TMAPI is for Interleaved Block.

More intelligible explanations will be provided below.

The ILVU information ILVUI is used to access each interleaved unit ILVU.The ILVU information ILVUI is composed of one or more ILVU entriesILVU_ENT. The ILVU information ILVUI exists only in the time map TMAP(PTMAP) which manages the primary enhanced video objects P-EVOBconstituting an interleaved block. As shown in FIG. 85(f), each ILVUentry ILVU_ENT is composed of a combination of the starting addressILVU_ADR of ILVU and the ILVU size ILVU_SZ. The starting address of ILVUis represented by a relative logical block number RLBN, counting fromthe first logical block in the corresponding primary enhanced videoobject P-EVOB. The ILVU size ILVU_SZ is written using the number of theenhanced video object units EVOBU constituting an ILVU entry ILVU_ENT.

As shown in FIG. 12, to reproduce the data in the primary enhanced videoobject P-EVOB, the playlist PLLST refers to the time map PTMAP of theprimary video set and then further refers to enhanced video objectinformation EVOBI in the time map PTMAP of the primary video set. Theenhanced video object information EVOBI referred to by the time mapPTMAP of the primary video set includes the corresponding primaryenhanced video object P-EVOB, which makes it possible to reproduce theprimary enhanced video object data P-EVOB. FIG. 85 shows the datastructure of the time map PTMAP of the primary video set. The data inthe enhanced video object information EVOBI has a data structure asshown in FIG. 86(d). In the embodiment, the enhanced video objectinformation EVOBI shown in FIG. 12 means the same thing as that meant bythe video title set enhanced video object information VTS_EVOBI shown inFIG. 86(c). The primary video set PRMVS is basically stored in aninformation storage medium DISC as shown in FIG. 10 or FIG. 25. As shownin FIG. 10, the primary video set PRMVS is composed of primary enhancedvideo object data P-EVOB showing primary audio video PRMAV and itsmanagement information.

<Primary Video Set>

Primary Video Set may be located on a disc.

Primary Video Set consists of Video Title Set Information (VTSI) (see6.3.1 Video Title Set Information (VTSI)), Enhanced Video Object Set forVideo Title Set (VTS_EVOBS), Video Title Set Time Map Information (VTSTMAP), backup of Video Title Set Information (VTSI_BUP) and backup ofVideo Title Set Time Map Information (VTS_TMAP_BUP).

More intelligible explanations will be provided below.

The primary video set PRMVS is composed of video title set informationVTSI having a data structure shown in FIG. 86, enhanced video objectdata P-EVOB having a data structure shown in FIG. 87 (an enhanced videoobject set VTS_EVOBS in a video title set), video title set time mapinformation VTS_TMAP having a data structure shown in FIG. 85, and videotitle set information backup VTSI_BUP shown in FIG. 86(a). In theembodiment, the data type related to the primary enhanced video objectP-EVOB shown in FIG. 87(a) is defined as primary audio video PRMAV shownin FIG. 10. All of the primary enhanced video objects P-EVOBconstituting a set are defined as an enhanced video object set VTS_EVOBSin a video title set.

<Video Title Set Information (VTSI)>

VTSI describes information for one Video Title Set, such as attributeinformation of each EVOB.

The VTSI starts with Video Title Set Information Management Table(VTSI_MAT), followed by Video Title Set Enhanced Video Object AttributeInformation Table (VTS_EVOB ATRT), followed by Video Title Set EnhancedVideo Object Information Table (VTS EVOBIT).

Each table shall be aligned on the boundary between Logical Blocks.

For this purpose each table may be followed by up to 2047 bytes(containing ‘00h’).

More intelligible explanations will be provided below.

For example, information about a video title set in which attributeinformation on each primary enhanced video object P-EVOB is placed iswritten in video title set information VTSI shown in FIG. 86(a). Asshown in FIG. 86(b), a video title set information management tableVTSI_MAT is placed at the beginning of the video title set informationVTSI, followed by a video title set enhanced video object attributetable VTS_EVOB_ATRT. At the end of video title set information VTSI, avideo title set enhanced video object information table VTS_EVOBIT isarranged. The boundary positions of various pieces of information shownin FIG. 86(b) have to coincide with the boundary positions of logicalblocks. For each piece of information to end at the boundary between thelogical blocks, for example, “00h” is inserted into all the remainingpart of the number so that the number may end just at a logical blockwhen a number in each table has exceeded 2047 bytes, which sets thebeginning position of each piece of information in such a manner that itnever fails to coincide with the beginning position of the logicalblock. In the video title set information management table VTSI_MATshown in FIG. 86(b), the following pieces of information are written:

1. Size information about video title set and video title setinformation VTSI

2. Starting address information about each piece of information in videotitle set information VTSI

3. Attribute information about an enhanced video object set EVOBS in avideo title set VTS

Furthermore, in the video title set enhanced video object attributetable VTS_EVOB_ATRT shown in FIG. 86(b), attribute information definedin each primary enhanced video object P-EVOB in a primary video setPRMVS is written.

<Video Title Set Enhanced Video Object Information Table (VTS EVOBIT)>

In this table the information for every EVOB under the Primary Video Setshall be described.

The table starts with VTS EVOBIT Information (VTS EVOBITI) followed byVTS_EVOBI Search Pointers (VTS_EVOBI_SRPs), followed by VTS EVOBInformation (VTS_EVOBIs).

The contents of VTS EVOBITI, one VTS EVOBI_SRP and one VTS EVOBI areshown in FIG. 86.

More intelligible explanations will be provided below.

In the video title set enhanced video object information tableVTS_EVOBIT shown in FIG. 86(b), management information about each itemof primary enhanced video object data P-EVOB in a primary video setPRMVS is written. As shown in FIG. 86(c), the structure of the videotitle set enhanced video object information table is such that videotitle set enhanced video object information table informationVTS_EVOBITI is placed at the beginning, followed by a video title setenhanced video object information search pointer VTS_EVOBI_SRP and videotitle set enhanced video object information VTS_EVOBI in that order.

FIG. 86(d) shows the structure of the video title set enhanced videoobject information VTS_EVOBI. FIG. 86(e) shows an internal structure ofan enhanced video object identifier EVOB_ID written at the beginning ofthe video title set enhanced video object information VTS_EVOBI shown inFIG. 86(d). At the beginning of the enhanced video object identifierEVOB_ID, information on the application type APPTYP is written. When“0011b” is written in this field, this means that the correspondingenhanced object is Standard VTS (standard video title set). When “0010b”is written in the field, this means that the corresponding enhancedobject is Advanced VTS (advanced video title set). When “0011b” iswritten in the field, this means that the corresponding enhanced objectis interoperable VTS (interoperable title set). A value other than theseis set as a reserved value. In audio gap locations A0_GAP_LOC,A1_GAP_LOC, information on a 0-th audio stream is written in audio gaplocation #0A0_GAP_LOC#1. Information on an audio gap related to a firstaudio stream is written in audio gap location #1A1_GAP_LOC#0. When thevalues of the audio gap locations A0_GAP_LOC#0, A1_GAP_LOC#1 are “00b,”this means that there is no audio gap. When the values are “01b,” thismeans that there is an audio gap in the first enhanced video object unitEVOBU of the corresponding enhanced video object EVOB. When the valuesare “11b,” this means that there is an audio gap in the second enhancedvideo object unit EVOBU counted from the beginning of the enhanced videoobject. When the values are “11b,” this means that there is an audio gapin the third enhanced video object unit EVOBU counted from the beginningof the enhanced video object.

As shown in FIG. 12, a file in which primary enhanced video object dataP-EVOB to be reproduced has been recorded is specified in the enhancedvideo object information EVOBI. This has been explained already. Asshown in FIG. 12, a primary enhanced video object file P-EVOB isspecified using the enhanced video object file name EVOB_FNAME writtenin the second place of FIG. 86(d) in the enhanced video objectinformation EVOBI (video title set enhanced video object informationVTS_EVOBI). On the basis of the information, enhanced video objectinformation EVOBI (video title set enhanced video object informationVTS_EVOBI) is related to the primary enhanced video object file P-EVOB.This makes not only the playback process easier but also makes theediting process very easy, since the primary enhanced video object fileP-EVOB to be reproduced can be changed easily by just changing the valueof the enhanced video object file name EVOB_FNAME. If the data length ofa file name written in the enhanced video object file name EVOB_FNAME is255 bytes or less, the remaining blank space in which the file name hasnot been written has to be filled with “0b.” Moreover, if the primaryenhanced video object data P-EVOB specified as the enhanced video objectfile name EVOB_FNAME is composed of a plurality of files in the standardvideo title set VTS, only a file name in which the smallest number hasbeen set is specified. If the corresponding primary enhanced videoobject data P-EVOB is included in a standard video title set VTS or aninteroperable video title set VTS in the enhanced video object addressoffset EVOB_ADR_OFS, the starting address of the corresponding primaryenhanced video object P-EVOB is written using a relative logical blocknumber RLBN from the logical block first set in the correspondingenhanced video object set EVOBS. In the embodiment, as shown in FIG.87(d), each pack PCK unit coincides with the logical block unit and 2048bytes of data are recorded in one logical block. Moreover, if thecorresponding primary enhanced video object data P-EVOB is included inthe advanced video title set VTS, all of the field of the enhanced videoobject address offset EVOB_ADR_OFS is filled with “0b.”

In the enhanced video object attribute number EVOB_ATRN, the enhancedvideo object attribute number EVOB_ATRN used in the correspondingprimary enhanced video object data P-EVOB is set. Any value in the rangefrom “1” to “511” must be written as the set number. Moreover, in theenhanced video object start PTM EVOB_V_S_PTM, the presentation starttime of the corresponding primary enhanced video object data P-EVOB iswritten. The time representing the presentation start time is written inunits of 90 kHz. In addition, the enhanced video object end PTMEVOB_V_E_PTM represents the presentation end time of the correspondingprimary enhanced video object data P-EVOB and is expressed in units of90 kHz.

The following enhanced video object size EVOB_SZ represents the size ofthe corresponding primary enhanced video object data P-EVOB and iswritten using the number of logical blocks.

The following enhanced video object index number EVOB_INDEX representsinformation on the index number of the corresponding primary enhancedvideo object data P-EVOB. The information must be the same as theenhanced video object index number EVOB_INDEX in the time mapinformation search pointer TMAPI_SRP of the time map information TMAPI.Any value in the range from “1” to “1998” must be written as the value.

Furthermore, in the first SCR EVOB_FIRST_SCR in the enhanced videoobject, the value of SCR (system clock) set in the first pack in thecorresponding primary enhanced video object data P-EVOB is written inunits of 90 kHz. If the corresponding primary enhanced video object dataP-EVOB belongs to an interoperable video title set VTS or an advancedvideo title set VTS, the value of the first SCR EVOB_FIRST_SCR in theenhanced video object becomes valid and the value of seamless attributeinformation (see FIG. 54(c)) in the playlist is set to “true.” In the“last-minute enhanced video object last SCR PREV_EVOB_LAST_SCR” writtennext, the value of SCR (system clock) written in the last pack of theprimary enhanced video object data P-EVOB to be reproduced at the lastminute is written in units of 90 kHz. Moreover, only when the primaryenhanced video object P-EVOB belongs to an interoperable video title setVTS, the value becomes valid and seamless attribute information in theplaylist is set to “true.” In addition, the audio stop PTMEVOB_A_STP_PTM in the enhanced video object represents the audio stoptime in an audio stream and is expressed in units of 90 kHz. Moreover,the audio gap length EVOB_A_GAP_LEN in the enhanced video objectrepresents the audio gap length for the audio stream.

FIG. 87 shows the data structure of the primary enhanced video objectP-EVOB referred to by the enhanced video object information as shown inFIG. 12.

The primary enhanced video object P-EVOB shown in FIG. 87(a) is composedof one or more enhanced video objects EVOB as shown in FIG. 87(b). Theenhanced video object EVOB is composed of enhanced video object unitsP-EVOBU in one or more (a plurality of) primary video sets. Each of theenhanced video object units P-EVOBU in the primary video set is acollection of various 2048 -byte packs. Various streams are multiplexedin packs. As shown in FIG. 87(d), at the head of the enhanced videoobject unit P-EVOBU of each primary video set, a navigation pack NV_PCKnever fails to be placed. As shown in FIG. 10, the primary audio videoPRMAV constituting a primary video set PRMVS has such a structure asincludes a main video stream MANVD, a main audio stream MANAD, asub-video stream SUBVD, a sub-audio stream SUBAD, and a sub-picturestream SUBPT. The main video stream MANVD is multiplexed in such amanner that it is packed in the main video pack VM_PCK. The main audiostream MANAD is recorded in the main audio pack AM_PCK. The sub-videostream SUBVD is recorded in a sub-video pack VS_PCK. The sub-audiostream SUBAD is recorded in a sub-audio pack AS_PCK. The sub-picturestream SUBPT is recorded in a sub-picture pack SP_PCK. In an advancedpack ADV_PCK shown in FIG. 87(d), information about the advancedapplication ADAPL or advanced subtitle ADSBT in the advanced contentADVCT is recorded in a distributed manner. As shown in FIG. 87(f), inthe data structure of the advanced pack ADV_PCK, a pack header PHEAD, apacket header PHEADA, a sub-stream corresponding to an advanced packADV_PCK, an advanced data header ADDTHD, and advanced data ADVDT arearranged in that order. Moreover, as shown in FIG. 87(e), the datastructure of the navigation pack NV_PCK is such that a pack header PHEADis placed at the head, followed by a system header SHEAD. Behind thesystem header, a packet header PHEADG corresponding to GCI data GCIDTand a sub-stream IDSSTIDG corresponding to the GCI data GCIDT arearranged in that order. At the end of the navigation pack NV_PCK, DSIdata DSIDT is placed. In front the DSI data, a sub-stream IDSSTIDDcorresponding to the DSI data DSIDT and a packet header PHEADDcorresponding to the DSI data DSIDT are arranged in that order.Moreover, as shown in FIG. 87(g), in the GCI data GCIDT, data on GCIgeneral information GCI_GI and recording information RECI are recorded.In the recording information RECI, information on ISRC (internationalstandard recording code) related to video data, audio data, andsub-picture data are written. The GCI general information GCI_GI shownin FIG. 87(g) is composed of a GCI category GCI_CAT, enhanced videoobject unit start PTMEVOBU_S_PTM, DCI reserved area DCI, and CPinformation reversed area CPI as shown in FIG. 87(h).

The embodiment is characterized in that a GCI (general controlinformation) packet GCI_PKT is set in the navigation pack NV_PCK. Thedetails of the effect produced by this setting will be explained below.

As shown in FIG. 1, the information recording and reproducing apparatus1 of the embodiment comprises:

-   -   Advanced content playback section ADVPL which reproduces        advanced contents ADVCT    -   Standard content playback section STDPL which reproduces        standard contents STDCT    -   Recording and reproducing section 4 which is for recording,        reproducing, and editing video contents that can be recorded,        reproduced, and edited

The advanced content playback section ADVPL has the structure explainedin FIG. 14 to FIG. 44. The playlist PLLST, playback managementinformation in the advanced content ADVCT, has a data structure asexplained in FIG. 21 to FIG. 84. The standard content STDCT has a datastructure giving importance to the compatibility with the existingDVD-Video standard (or has a similar structure to a data structure whereboth management information and object data are based on the existingDVD-Video standard, which makes it easier to ensure compatibility). Inthe embodiment, it is assumed that there exists an HD_VR (HighDefinition Video Recording) standard that prescribes the data structureof a video object the information recording and reproducing apparatus 1can record, reproduce, or edit and the data structure of managementinformation about the video object (or used to manage playback sequenceor the like). The HD_VR standard has not become publicly known yet. Theexistence of an HD_VR standard which enables high-quality (orhigh-resolution) images to be recorded, reproduced, or edited is assumedand technical improvements are made to ensure the compatibility betweenthe HD_VR standard and representation object data and the data structurerelated to its management information. This is a part of thecharacteristic of the embodiment. As a standard which enables standardpicture-quality (or standard resolution) images to be recorded,reproduced, or edited, there exists the Video Recording standard laiddown in a DVD forum. The data structure prescribed there has beendisclosed in, for example, Jpn. Pat. No. 3,050,317. The HD_VR standardassumed in the embodiment has a similar structure to the existing VideoRecording standard, thereby ensuring high compatibility. A dedicatedplayback standard for standard picture quality (or standard resolution)has already been set as the DVD-Video standard in the DVD forum. Thedata structure prescribed in the existing DVD-Video standard has astructure as shown in, for example, Jpn. Pat. No. 2,875,233, whichcauses the problem of low-degree of compatibility with the existingVideo Recording standard. To solve the problem and improve thecompatibility between the advanced content ADVCT and the contentprescribed in the HD_VR standard, the embodiment combines the following:

1. Setting a GCI (General Control Information) Packet GCI_PKT

2. Setting an Interoperable Video Title Set

3. Setting Flags for Distinguishing an Advanced Video Title Set, anInteroperable Video Title Set, and a Standard Video Title Set

The concrete locations in which the flags for discriminating between anadvanced video title set, an interoperable video title set, and astandard video title set are placed correspond to, for example,“application type information” set in time map attribute informationTMAP_TY of FIG. 85(c), “application type information APPTYP” set in theenhanced video object identifier EVOB_ID of FIG. 86(e), and “applicationtype information” set in time map attribute information TMAP_TY of FIG.88(c)(refer to the description of each figure for details). Recognizingthe contents of the discrimination flag in advance makes it possible topromptly know the difference between the data structures of variousobjects or between the data structures of their management informationin the advanced content playback section ADVPL. As a result, it ispossible to advance the playback start time of the target content in theadvanced content playback section ADVPL.

Next, the setting of an interoperable video title set will be explained.The recording and reproducing section 4 of the information recording andreproducing apparatus 1 of FIG. 1 records, reproduces, and edits thevideo object and its management information recorded on an informationstorage medium DISC according to the HD_VR standard assumed in theembodiment. The embodiment is characterized in that, at that time, theadvanced content playback section ADVPL converts the video object andits management information recorded according to the HD_VR standard inthe recording and reproducing section 4 at the user's request into areproducible format. A representation object and its managementinformation after the conversion of the video object and its managementinformation recorded according to the HD_VR standard by the advancedcontent playback section ADVPL into a reproducible format arecollectively called “an interoperable video title set.” In theembodiment, as playback management information after the conversion, aplaylist PLLST having a data structure as explained in FIG. 21 to FIG.84 is newly created in the recording and reproducing section 4. Thisimproves the compatibility between the advanced content ADVCT and thecontent prescribed in the HD_VR standard.

As described above, a playlist PLLST can be created with relative easein the recording and reproducing section 4. However, it takes hugeamounts of time to change the data structure of the video objectrecorded in the information storage medium DISC. The embodiment ischaracterized in that, to save the huge amounts of time, setting a GCI(general control information) packet GCI_PKT causes the data structureof the video object recorded according to the HD_VR standard to coincidewith that of the representation object in the advanced content ADVCT. Asin the existing Video Recording standard, in a video object in the HD_VRstandard, there is an RDI (Real-time Data Information) pack at the headof an enhanced video object unit EVOBU. In the RDI pack, a pack header,a system header, and a GCI packet are arranged in that order, beginningfrom the head. According to this, in a representation objectreproducible in the advanced content playback section ADVPL of theembodiment (or a representation object in an interoperable video titleset), there is a navigation pack NV_PCK at the head of an enhanced videoobject unit P-EVOBU of the primary video set as shown in FIG. 87(d) andFIG. 87(e). In the navigation pack NV_PCK, a pack header PHEAD, a systemheader SHEAD, and a GCI packet GCI_PKT are arranged in that order,beginning from the head. In the HD_VR standard, an RDI (Real-time DataInformation) packet is placed immediately behind the GCI packet GCI_PKT,followed by a padding packet. In a representation object in theinteroperable video title set, the PDI packet location is set in areserved area RESRV as shown in FIG. 87(e), followed by a DSI (DataSearch Information) packet DSI_PKT. With this arrangement, even if therepresentation object recorded according to the HD_VR standard ischanged directly to a representation object in the interoperable videotitle set (without any modification), the RDI packet location isregarded as a reserved area RESRV when viewed from the primary enhancedvideo object P-EVOB and the DSI packet DSI_PKT is considered to beabsent, which enables the advanced content playback section ADVPL tocarry out a reproducing process. The embodiment is not limited to theabove method and may use the following method: information to berecorded in a DSI (Data Search Information) packet DSI_PKT is recordedin the RDI packet in advance when a video object is recorded onto aninformation storage medium DISC according to the HD_VR standard,information in the DSI packet DSI_PKT is created using informationrecorded in the RDI packet when the information is changed to arepresentation object in the interoperable video title set, and the DSIpacket DSI_PKT may be additionally recorded in the representation objectalready recorded on the information storage medium DISC. The DSI packetDSI_PKT additionally recorded this way is composed of a packet headerPHEADD, a sub-stream IDSSTIDD, and DSI data DSIDT as shown in FIG.87(e).

The GCI packet GCI_PKT in the HD_VR standard is composed of a packetheader, a sub-stream ID, and GCI data. In the GCI data, there is GCIgeneral information. In the GCI general information, GCI categoryinformation, the start presentation time of a video object unit, displaycontrol information, and content protection information are recorded. Toensure the compatibility with a video object recorded according to theHD_VR standard, a primary enhanced video object P-EVOB of the embodiment(a representation object or an interoperable content in theinteroperable video title set) is composed of a packet header PHEADG, asub-stream IDSSTIDG, and GCI data GCIDT as shown in FIG. 81(e). As shownin FIG. 87(g), in the primary enhanced video object P-EVOB of theembodiment (the representation object in the interoperable video titleset), not only GCI general information GCI_GI but also recordinginformation RECI are placed in the GCI data GCIDT as in the HD_VRstandard. Moreover, in the GCI general information GCI_GI in the primaryenhanced video object P-EVOB of the embodiment (the representationobject or the interoperable content in the interoperable video titleset), not only are a GCI category GCI_CAT and the start PTM(presentation time) of an enhanced video object unit EVOBU_S_PTMrecorded, but also a DCI (display control information) reserved area DCIand a CP (content protection or copy protection) information reservedarea CPI exist according to the HD_VR standard. In the embodiment, inthe DCI (display control information) reserved area DCI, display controlinformation DCI complying with the HD_VR standard may be recorded. Atthe same time, content protection CP information is allowed to berecorded in the CP (content protection or copy protection) informationreserved area CPI. The data structure of a representation object in aninteroperable video title set has been explained. A primary enhancedvideo object P-EVOB (representation object) in an advanced content ADVCT(advanced content video title set) has also a GGI packet GCI_PKTstructure shown in FIG. 87(e) to FIG. 87(h). Accordingly, the datastructure of a representation object in the advanced video title setcoincides with the data structure of a representation object in theinteroperable video title set, which produces the effect of ensuring thecompatibility between them during the reproduction.

<GCI General Information (GCI_GI)>

GCI_GI is the information on GCI.

(1) GCI_CAT

Describes the EVOBU category of this GCI.

EVOBU_CAT

-   -   00b: This EVOBU belongs to Standard Content.    -   01b: This EVOBU belongs to Advanced Content.    -   10b: This EVOBU belongs to Interoperable Content.    -   11b: reserved

(2) EVOBU_S_PTM

Describes the presentation start time of the video data in EVOBU inwhich this GCI is included by a predetermine format. This is thepresentation start time of the first picture in display order of thefirst PAU (Picture Access Unit) in EVOBU. When video data does not existin the EVOBU, the presentation start time of imaginary video data isdescribed. This time is aligned on a grid defined by the video fieldperiod.

Presentation start time=EVOBU_S_PTM [31 . . 0]/90000 [second]

(3) DCI

Describes Display Control Information in case of Interoperable Content.This field shall be set to ‘0’ in case of Standard Content and AdvancedContent.

(4) CPI

Describes Content Protection Information.

More intelligible explanations will be provided below.

In the GCI category GCI_CAT, the category related to an enhanced videoobject unit in the corresponding primary video set is written.Specifically, if the value written in the GCI category GCI_CAT is “00b,”this means that an enhanced video object unit P-EVOBU in thecorresponding primary video set belongs to standard contents STDCT. Ifthe value is “01b,” this means that an enhanced video object unitP-EVOBU in the corresponding primary video set belongs to advancedcontents ADVCT. If the value is “10b,” this means that an enhanced videoobject unit P-EVOBU in the corresponding primary video set belongs tointeroperable contents. Start PTM EVOBU_S_PTM of the enhanced videoobject unit represents the presentation time of video data in anenhanced video object unit P-EVOBU of the primary video set includingthe GCI data GCIDT. The value is expressed in units of 90 kHz. If thereis no video data in the corresponding enhanced video object unit P-EVOBU(or if only audio information is included as playback data), thepresentation start time for virtual video data is written as the value.Hereinafter, a DCI reserved area DCI will be explained. If an enhancedvideo object EVOB including the GCI data GCIDT is interoperable content,display control information is written in the DCI reserved area DCI. Ifan enhanced video object EVOB including the GCI data GCIDT is standardcontent STDCT or advanced content ADVCT, all of the DCI reserved areaDCI is filled with “0.” In the CP information reserved area CPI,information to prevent the unauthorized copying of the correspondingcontent (or copy protection information or content protectioninformation) is written. As a result, it is possible to prevent anunauthorized copy of the corresponding content using the informationwritten in the CP information reserved area CPI, which makes it possibleto ensure the reliability of the user or content provider who has storedthe contents.

As shown in FIG. 12, in the primary video set PRMVS, a primary enhancedvideo object P-EVOB is reached by way of the time map PTMAP of theprimary video set and enhanced video object information EVOBI, startingfrom the playlist. A part of the management information used to manageobject information in the existing DVD-Video has a similar structure tothat of the enhanced video object information EVOBI shown in FIG. 12.Accordingly, setting enhanced video object information EVOBI and aprimary enhanced video object P-EVOB separately in the primary video setPRMVS makes it possible to use a structure similar to a structure thatcombines object information and management information in the existingDVD-Video, which provides the advantage of making it easy to ensure thecompatibility between the primary video set PRMVS and the existingDVD-Video. As shown in FIG. 10, the recording place of therepresentation objects in the primary video set PRMVS is limited to theinside of the information storage medium DISC. Therefore, it isrelatively easy to reproduce the time map PTMAP of the primary videoset, enhanced video object information EVOBI, and primary enhanced videoobjects P-EVOB from the same storage medium DISC. In contrast, as shownin FIG. 10, the secondary video set SCDVS enables representation objectsto be recorded into not only the information storage medium DISC butalso a persistent storage PRSTR or a network server NTSRV. As shown inFIG. 25, the secondary video set SCDVS is stored temporarily in the datacache DTCCH before reproduction and then is read from the data cacheinto the secondary video player SCDVP, which plays back the secondaryvideo set. In this way, the secondary video set SCDVS may be taken in bythe data cache DTCCH in advance. Therefore, the smaller the number ofvarious files constituting the secondary video set SCDVS, the easier theprocess of storing data into the data cache DTCCH. That is, as in theprimary video set PRMVS of FIG. 12, various files, including the timemap PTMAP of the primary video set, enhanced video object informationEVOBI, and primary enhanced video objects P-EVOB, are arranged, whichmakes complicated the process of storing data into the data cache DTCCHtemporarily. As shown in FIG. 12, the embodiment is characterized inthat, in the secondary video set SCDVS, the information in the time mapfile PTMAP of the primary video set PRMVS and the information in theenhanced video object information file EVOBI in the primary video setPRMVS are put together and recorded into a time map file STMAP of asecondary video set, thereby reducing the number of hierarchical levelsby one (or reducing the three hierarchical levels to two hierarchicallevels) as compared with the primary video set PRMVS. This improves theconvenience of the process of storing data temporarily into the datacache DTCCH of the secondary video set SCDVS. Specifically, in theembodiment, as shown in FIG. 12, the time map STMAP of the secondaryvideo set is referred to from the playlist PLLST in the secondary videoset SCDVS and the secondary enhanced video object S-EVOB is referred todirectly from the time map STMAP of the secondary video set.

Hereinafter, a method of referring to the time map STMAP of thesecondary video set from the playlist PLLST will be explained. As shownin FIG. 10, the secondary video set SCDVS includes substitute audiovideo SBTAV, substitute audio SBTAD, and secondary audio video SCDAV. Asshown in FIG. 18, management information about the secondary audio videoSCDAV is written using a secondary audio video clip SCAVCP in theplaylist PLLST. A substitute audio clip element SBADCP that manages thesubstitute audio SBTAD is written in the playlist PLLST. A substituteaudio video clip SBAVCP that manages the substitute audio video SBTAV iswritten in the playlist PLLST. As shown in FIG. 54(d) and FIGS. 55(c)and 55(d), in each of the secondary audio video clip element SCAVCP,substitute audio video clip element SBAVCP, and substitute audio clipelement SBADCP, there is a field in which “index information filestorage SRCTMP (src attribute information) for a representation objectto be referred to” is to be written. As shown in FIG. 18, in the “indexinformation file storage SRCTMP (src attribute information) for arepresentation object to be referred to,” the storage location (path) ofthe time map file STMAP of the secondary video set and a file name arewritten. As shown in FIG. 88(c), the time map STMAP in the secondaryvideo set includes information on the file name EVOB_FNAME of theenhanced video object. Using the file name EVOB_FNAME of the enhancedvideo object makes it possible to refer to the corresponding secondaryenhanced video object S-EVOB from the time map STMAP of the secondaryvideo set as shown in FIG. 12. FIG. 88 shows a detailed data structureof the time map STMAP of the secondary video set.

<Time Map (TMAP)>

Time Map (IMAP) consists of TMAP General Information (TMAP_GI), zero orone TMAPI Search Pointer (TMAPI_SRP), same number of TMAP Information(TMAPI) as TMAPI_SRP and one EVOB Attribution (EVOB_ATR).

More intelligible explanations will be provided below.

As shown in FIG. 88(b), the time map STMAP of the secondary video set iscomposed of time map general information TMAP_GI, no or one time mapinformation search pointer TMAPI_SRP, as many pieces (no or one) of timemap information TMAPI as the number of the time map information searchpointers TMAPI_SRP, and one piece of enhanced video object attributeinformation EVOB_ATR.

FIG. 88(c) shows a detailed structure of the time map generalinformation TMAP_GI shown in FIG. 88(b). The data structure of the timemap general information TMAP_GI of FIG. 88(c) is such that the file nameEVOB_FNAME of the enhanced video object is added to the time map generalinformation TMAP_GI in the time map TMAP (PTMAP) corresponding to theprimary video set shown in FIG. 85(c). A time map identifier TMAP_IDshown in FIG. 88(c) is information put at the beginning of the time mapfile STMAP in the secondary video set. In the time map identifierTMAP_ID, “HDDVD_TMAP00” is written, which makes it possible to identifythe time map file STMAP of the secondary video set as a time map file.The ending address TMAP_EA of the time map is written using RLBN(relative Logical Block Number) representing the number of logicalblocks relative to the first logical block in the corresponding time mapfile STMAP. As shown in FIG. 87 or FIG. 89, the individual video streamsand audio streams in a representation object are recorded in each packPCK in such a manner that they are packaged and multiplexed. The size ofeach of the packs PCK coincides with the logical block size and is setin units of 2048 bytes. Therefore, RLBN (Relative Logical Block Number)representing the number of relative logical blocks represents the lengthof a 1048-byte unit.

The version number of the corresponding STMAP can be known from theversion number TMAP_VERN of the time map. As in the time map attributeinformation TMAP_TY of FIG. 85(c), in time map attribute informationTMAP_TY, application type APPTYP, ILVU information ILVUI, attributeinformation ATR, and angle information ANGLE are written. According tothe time map STMAP of the secondary video set, “0100b” has to be set asinformation on the application type APPTYP. Since in the embodiment,ILVU (an interleaved unit in an interleaved block) is not defined in thesecondary video set SCDVS, “0b” has to be set as the value of the ILVUinformation ILVUI. As for the attribute information ATR, “1b” has to beset to show the time map STMAP of the secondary video set. Moreover,since in the embodiment, the concept of multi-angle is not determined inthe secondary video set SCDVS, “00b” has to be set as the angleinformation ANGLE in the time map STMAP of the secondary video set. Asdescribed above, since no or only one piece of time map informationTMAPI can be placed in the time map STMAP of the secondary video set,either “0” or “1” has to be set as the value set in information on thenumber of time map information TMAPI_Ns. In the embodiment, for example,when streaming related to music live contents is written in thesecondary video set SCDVS, time map information TMAPI may beunnecessary. Therefore, it is possible to set “0” as the value set ininformation on the number of time map information TMAPI_Ns. Moreover,since the concept (interleaved block) of interleaved units ILVU is notset in the secondary video set SCDVS, all of the starting addressILVUI_SA (4 bytes) of ILVUI has to be filled with “1b. The startingaddress EVOB_ATR_SA of the enhanced video object attribute informationis written using the number of relative bytes RBN (Relative ByteNumber), counting from the first byte in the corresponding time mapSTMAP. The aforementioned RLBN (Relative Logical Block Number) iswritten using the number of logical blocks in each of which 2048 bytesof data can be recorded, whereas the RBN (Relative Byte Number) iswritten using the number of relative bytes.

Next, the file name VTSI_FNAME of the video title set information shownin FIG. 88(c) will be explained. As described above, the data structureof the time map general information TMAP_GI of FIG. 88(c) in the timemap STMAP of the secondary video set is such that the file nameEVOB_FNAME of the enhanced video object is added to the data structureof the time map general information TMAP_GI in the time map TMAP (PTMAP)of the primary video set. This makes the data structure common to thetime map TMAP (PTMAP) of the primary video set and the time map STMAP ofthe secondary video set, which causes the advanced content playbacksection ADVPL to use the reproducing process in both of the time mapsand simplify the process. As shown in FIG. 12, in the time map PTMAP ofthe primary video set, enhanced video object information EVOBI isreferred to, whereas in the time map STMAP of the secondary video set,the secondary enhanced video object S-EVOB is directly referred to.Therefore, information on the file name VTSI_VNAME of the video titleset information is meaningless in the time map STMAP of the secondaryvideo set. Accordingly, in the embodiment, as the value of the file nameVTSI_FNAME of the video title set information of FIG. 88(c), “1b” is putrepeatedly in the 255-byte field in which data is to written.

Furthermore, the file name EVOB_FNAME of the enhanced video object ofFIG. 88(c) represents the file name of the secondary enhanced videoobject S-EVOB referred to by the time map STMAP of the correspondingsecondary video set and is designed to be written in 255 bytes. When thelength of the secondary enhanced video object file S-EVOB is shorterthan 255 bytes, “0b” is put repeatedly in the remaining part of the filename written.

<TMAPI Search Pointer (TMAPI_SRP)>

Note: This data doesn't exist in the TMAP if the value of TMAPI_Ns=‘0’.

(1_) TMAPI_SA

Describes the start address of the TMAPI with RBN from the first byte ofthis TMAP.

(2_) EVOBU_ENT_Ns

Describes the number of EVOBU_ENT (for EVOB including Video stream) orTU_ENT (for EVOB excluding Video stream) for the TMAPI.

More intelligible explanations will be provided below.

In addition, the structure of the information in the time mapinformation search pointer TMAPI_SRP of FIG. 88(b) is simplified in sucha manner that only the starting address TMAP_SA of the time mapinformation in the time map information search pointer TMAPI_SRP of thetime map TMAP (PTMAP) of the primary video set shown in FIG. 85(d) andinformation on the number of secondary video sets EVOBU_ENT_Ns arewritten, thereby reducing the amount of data in the time map STMAP ofthe secondary video set. The starting address TMAP_SA of the time mapinformation is written using RBN (Relative Byte Number), the number ofrelative bytes counted from the first byte of the time map file STMAP ofthe secondary video set. Moreover, in the information on the numberEVOBU_ENT_Ns of enhanced video object unit entries, information on thenumber of enhanced video object unit entries EVOBU_ENT included in thecorresponding time map information TMAPI is written (when a video streamis included in the secondary enhanced video object S-EVOB) orinformation on the number of time unit entries TU_ENT is written (whenno video stream is included in the secondary enhanced video objectS-EVOB).

<TMAP Information (TMAPI)>

In case of EVOB including Video stream, TMAPI consists of one ore moreEVOBU Entries (EVOBU_ENTs). In case of EVOB excluding Video stream,TMAPI consists of one or more TU Entries.

Note: This data doesn't exist in the TMAP if the value of TMAPI_Ns=‘0’.

More intelligible explanations will be provided below.

When there is a video stream in the secondary enhanced video objectS-EVOB referred to by the time map STMAP of the secondary video set, oneor more enhanced video object unit entries EVOBU_ENT (not shown) arewritten in the time map information TMAPI shown in FIG. 88(b). Incontrast, when there is no video stream in the secondary enhanced videoobject S-EVOB referred to by the time map STMAP of the secondary videoset, the time map information TMAPI is composed of one or more time unitentries TU_ENT as shown in FIG. 88(d).

<EVOBU Entry (EVOBU ENT)>

1STREF_SZ . . . Describes the size of the 1st Reference Picture of thisEVOBU. The size of the 1st Reference Picture is defined as the number ofpacks from the first pack of this EVOBU to the pack which includes thelast byte of the first encoded reference picture (the firstI-Coded-Frame) of this EVOBU.

EVOBU_PB_TM . . . Describes the Playback Time of this EVOBU, which isspecified by the number of video fields in this EVOBU.

EVOBU_SZ . . . Describes the size of this EVOBU, which is specified bythe number of packs in this EVOBU.

More intelligible explanations will be provided below.

When the time map information TMAPI is composed of one or more enhancedvideo object unit entries EVOBU_ENT, size information on a firstreference picture (I picture frame) lSTREF_SZ included in thecorresponding enhanced video object unit, playback time EVOBU_PB_TM ofthe corresponding enhanced video object unit EVOBU, and data sizeEVOBU_SZ of the corresponding enhanced video object unit EVOBU arewritten in the enhanced video object unit entry EVOBU_ENT as describedin FIG. 85.

<TU Entry (TU_ENT)>

TU DIFF . . . Describes the Playback Time of this TU in 90 _kHz unit.Playback Time means the difference between PTS of first frame in this TUand PTS of first frame in next TU. If this TU is last TU in the EVOB,Playback is defined as the difference between PTS of first frame in thisTU and PTS of last frame in this TU.

TU_SZ . . . Describes the size of this TU, which is specified by thenumber of packs in this TU.

More intelligible explanations will be provided below.

In a time unit entry TU_ENT shown in FIG. 88(d), playback time TU_DIFFof the corresponding time unit entry and the data size TU_SZ of the timeunit are written. The playback time TU_DIFF of the time unit isrepresented using the count in units of 90 kHz. As the playback time inthe time unit, the difference value between the value of a presentationtime stamp PTS set in the first frame in the corresponding time unit anda presentation time stamp PTS set in the first frame in the next timeunit TU is written. When the time unit TU corresponding to the time unitentry TU_ENT is the time unit TU placed at the end of the secondaryenhanced video object S-EVOB, the value of the playback time TU_DIFF isset as the difference value between the presentation time stamp valuePTS of the first frame in the corresponding time unit and thepresentation time stamp value of the last frame in the same time unitTU. Moreover, size information TU_SZ on the time unit TU is representedby the number of various packs constituting the corresponding time unitTU.

<EVOB Attribution (EVOB_ATR)>

(1) EVOB_TY

Describes the type of Secondary Video Set and existence of Sub Videostream and Sub Audio stream.

-   -   CONT_TY . . . 0001b: Substitute Audio including AM_PCK        -   0010b: Secondary Audio Video including VS_PCK        -   0100b: Secondary Audio Video including AS_PCK        -   011Ob: Secondary Audio Video including VS_PCK/AS_PCK        -   1001b: Substitute Audio Video including VM_PCK/AM_PCK

Others: reserved

Note: Substitution of Audio Video is used for substitution of Main Videostream and Main Audio in Primary Video Set. Substitution Audio is usedfor substitution of Main Audio stream in Primary Video Set. SecondaryAudio Video is used for addition or substitution of Sub Video stream andSub Audio stream in Primary Video Set.

(2) EVOB_VM_ATR

Describes the Main Video attribute of the EVOB, which is defined forMain Video stream attribute in VTS_EVOB_ATR (2) EVOB_VM_ATR.

If Main Video stream does not exist in the EVOB, this field shall befilled with ‘Ob’.

(3) VOB_VS_ATR

Describes the Sub Video attribute of the EVOB, which is defined for SubVideo stream attribute in VTS_EVOB_ATR (3) EVOB_VS_ATR.

If Sub Video stream does not exist in the EVOB, this field shall befilled with ‘Ob’.

(4) EVOB_VS_LUMA

Describes luma value for Sub Video stream, which is defined inVTS_EVOB_ATR (4) EVOB_VS_LUMA.

This value is valid only in case that this EVOB contains Sub Videostream and its luma attribute, ‘Luma flag’ in EVOB_VS_ATR is ‘1b’.Otherwise, this field shall be filled with ‘Ob’.

(5) EVOB_AMST Ns

Describes the number of Main Audio streams in an EVOB, which is definedin VTS_EVOBATR (5) EVOB_AMST_Ns.

If Main Audio stream does not exist in the EVOB, this field shall befilled with ‘Ob’.

(6) EVOB_AMST_ATRT

Describes each Main Audio attribute of the EVOB, which is defined forMain Audio stream attribute in VTS_EVOB_ATR (6) EVOB_AMST ATRT.

If Main Audio stream does not exist in the EVOB, this field shall befilled with ‘0b’.

(7) EVOB_DM_COEFT

Describes down-mix coefficient table for Audio stream, which is definedin VTS_EVOB_ATR (7) EVOB_DM_COEPTS.

On the area of the Audio stream whose “Number of Audio channels” is not‘multichannel’, this field shall be filled with ‘1b’.

(8) EVOB_ASST_Ns

Describes the number of Sub Audio streams in an EVOB, which is definedin VTS_EVOB_ATR (8) EVOB_ASST_Ns.

(9) EVOB_ASST_ATRT

Describes each Sub Audio attribute of the EVOB, which is defined for SubAudio stream attribute in VTS_EVOB_ATR(9) EVOB_ASST_ATRT.

If Sub Audio stream does not exist in the EVOB, this field shall befilled with ‘0b’.

More intelligible explanations will be provided below.

FIG. 88(a) shows the data structure of enhanced video object attributeinformation EVOB_ATR shown in FIG. 88(b). In enhanced video object typeEVOB_TY placed at the beginning of the enhanced video object attributeinformation EVOB_ATR, type information on the secondary video set SCDVS,information on the presence or absence of a sub-video stream SUBVD, andinformation on the presence or absence of a sub-audio stream SUBAD arewritten. In the enhanced video object type EVOB_TY, there is controltype information CONT_TY. If the value of the control type informationCONT_TY is “0001b,” the corresponding secondary enhanced video objectS-EVOB is substitute audio SBTAD, which means that the substitute audioSBTAD includes a main audio pack AM_PCK in which main audio MANAD iswritten. If the value of the control type information CONT_TY is“0010b,” this means that the corresponding secondary enhanced videoobject S-EVOB is secondary audio video SCDAV and the secondary audiovideo SCDAV includes sub-video SUBVD, which means that the secondaryaudio video includes a sub-video pack VS_PCK in which the sub-videoSUBVD is recorded. Furthermore, if the value of the control typeinformation CONT_TY is “0100b,” this means that the correspondingsecondary enhanced video object S-EVOB is secondary audio video SCDAVand the secondary audio video SCDAV includes a sub-audio stream SUBAD,which means that the secondary audio video includes a sub-audio packAS_PCK in which the sub-audio stream SUBAD is recorded. Moreover, if thevalue of the control type information CONT_TY is “0110b,” thecorresponding secondary enhanced video object S-EVOB is secondary audiovideo SCDAV, which means that the secondary audio video SCDAV includesboth a sub-video stream SUBVD and a sub-audio stream SUBAD and thesub-video stream SUBVD is recorded in a sub-video pack VS_PCK and thesub-audio stream SUBAD is recorded in a sub-audio pack AS_PCK (meaningthat the sub-video pack VS_PCK and sub-audio pack AS_PCK are included inthe secondary audio video SCDAV). In addition, if the value of thecontrol type information CONT_TY is “1001b,” the corresponding secondaryenhanced video object S-EVOB is substitute audio video SBTAV, whichmeans that the substitute audio video SBTAV includes both a main videostream MANVD and a main audio stream MANAD and the main video streamMANVD is recorded in a main video pack VM_PCK and the main audio streamMANAD is recorded in a main audio pack AM_PCK (meaning that the mainvideo pack VM_PCK and main audio pack AM_PCK are included in thesubstitute audio video SBTAV). As shown in FIG. 10, the substitute audiovideo SBTAV can include only a main video stream MANVD and a main audiostream MANAD. Therefore, when the secondary enhanced video object S-EVOBreferred to by the time map STMAP of the secondary video set indicatessubstitute audio video SBTAV, main video attribute informationEVOB_VM_ATR on the enhanced video object shown in FIG. 88(a) andattribute information on the corresponding main video stream MANVD andmain audio stream MANAD in the main audio stream attribute tableEVOB_AMST_ATRT of enhanced video objects are written. As describedabove, since the substitute audio video SBTAV includes neither asub-video stream SUBVD nor a sub-audio stream SUBAD, sub-video attributeinformation EVOB_VS_ATR on enhanced video objects and the sub-audiostream attribute table EVOB_ASST_ATRT of enhanced video objects aremeaningless, each of them is filled with “0b.” Moreover, as shown inFIG. 10, since the substitute audio SBTAD includes only main audioMANAD, when the secondary enhanced video object S-EVOB referred to bythe time map STMAP of the secondary video set corresponds to substituteaudio SBTAD, attribute information on the corresponding main audiostream MANAD is written in the main audio stream attribute tableEVOB_AMST_ATRT of the enhanced video object. Since the main videoattribute information EVOB_VM_ATR on enhanced video objects, sub-videoattribute information EVOB_VS_ATR on enhanced video objects, and thesub-audio stream attribute table EVOB_ASST_ATRT of enhanced videoobjects are meaningless and are therefore all filled with “0b.”Similarly, the secondary audio video SCDAV includes only sub-videostreams SUBVD and sub-audio streams SUBAD and can include neither mainvideo streams MANVD nor main audio streams MANAD. Therefore, when thesecondary enhanced video object S-EVOB referred to by the time map STMAPof the secondary enhanced video set corresponds to secondary audio videoSCDAV, sub-video attribute information EVOB_VS_ATR on enhanced videoobjects, attribute information on the sub-video stream SUBVDcorresponding only to the sub-audio stream attribute tableEVOB_ASST_ATRT of enhanced video objects, and attribute information onthe corresponding sub-audio stream SUBAD are written. In this case,since meaningful data is not written in the main video attributeinformation EVOB_VM_ATR on enhanced video objects and in the main audiostream attribute table EVOB_AMST_ATRT of enhanced video objects, all ofthem are filled with “0b.” Next, only when the corresponding secondaryenhanced video object S-EVOB includes a sub-video stream SUBVD, a validvalue is written in LUMA value EVOB_VS_LUMA related to sub-video ofenhanced video objects. As shown in FIG. 10, only secondary audio videoSCDAV exists in the secondary enhanced video object S-EVOB including asub-video stream SUBVD. Therefore, when the second enhanced video objectS-EVOB is composed of substitute audio video SBTAV or substitute audioSBTAD, all of the LUMA value EVOB_VS_LUMA related to sub-video of theenhanced video object has to be filled with “0b.” If the correspondingsecondary enhanced video object S-EVOB is secondary audio video SCDAVincluding sub-video SUBVD, the value of the control type informationCONT_TY is set to “0010b” or “0110b” as described above, the LUMAattribute value of the sub-video stream SUBVD is written in the LUMAvalue EVOB_VS_LUMA related to sub-video of the enhanced video object,and the value of “LUMA flag” in the sub-video attribute informationEVOB_VS_ATR on the enhanced video object is set to “1b.” Moreover, ifthe secondary enhanced video object S-EVOB referred to by the time mapSTMAP of the secondary video set is substitute audio video SBTAV orsubstitute audio SBTAD including main audio streams MANAD, the number ofmain audio streams MANAD included there is written in the number of mainaudio streams EVOB_AMST_Ns of the enhanced video object.

Next, a down mix coefficient table EVOB_DM_COEFTS related to the audiostreams of the enhanced video object shown in FIG. 88(a) will beexplained. When the number of channels of the audio streams included inthe secondary enhanced video object S-EVOB is “3” or more and anenvironment shown to the user has two channels (or is stereo), a downmix process has to be carried out. Information about the down mixcoefficients necessary for the down mix process is written in a down mixcoefficient table EVOB_DM_COEFTS related to audio streams of theenhanced video object.

Furthermore, if the secondary enhanced video object S-EVOB referred toby the time map STMAP of the secondary video set is secondary audiovideo SCDAV, information on the number of sub-audio streams SUBADincluded in the secondary audio video SCDAV is written in the number ofsub-audio streams EVOB_ASST_Ns of the enhanced video object. Next,information on the sub-audio stream attribute table EVOB_ASST_ATRT ofthe enhanced video object shown in FIG. 88(a) will be explained. Asshown in FIG. 10, it is only in secondary audio video SCDAV thatsub-audio streams SUBAD are included in the secondary enhanced videoobject S-EVOB. Only in this case, valid information is recorded in thesub-audio stream attribute table EVOB_ASST_ATRT of enhanced videoobjects. In other cases (or in a case where there is no sub-audio SUBADin the secondary audio video SCDAV), since the sub-audio streamattribute table EVOB_ASST_ATRT of the enhanced video object has nomeaningful information, it is all filled with “0b.”

FIG. 89 shows the data structure of the secondary enhanced video objectS-EVOB in the embodiment. FIG. 89(a) shows the data structure of asecondary enhanced video object S-EVOB including video streams. FIG.89(b) shows the data structure of a secondary enhanced video objectS-EVOB not including video streams. In both cases, when they arecompared with the data structure of the primary enhanced video objectP-EVOB shown in FIG. 87, neither a sub-picture pack SP_PCK nor anadvanced pack ADV_PCK exists. As shown in FIG. 89(a), when a videostream is included, the secondary enhanced video object S-EVOB iscomposed of a collection of enhanced video object units S-EVOBU as isthe primary enhanced video object P-EVOB shown in FIG. 87. As shown inFIG. 10, the secondary enhanced video object S-EVOB including videostreams corresponds to either substitute audio video SBTAV or secondaryaudio video SCDAV. When the secondary enhanced video object S-EVOB issubstitute audio video SBTAV, the substitute audio video SBTAV includesonly main video streams MANVD and main audio streams MANAD as shown inFIG. 10, it is composed of only navigation packs NV_PCK, main audiopacks AM_PCK, and main video packs VM_PCK as shown at the second rowfrom the bottom of FIG. 89(a). When the secondary enhanced video objectS-EVOB is secondary audio video SCDAV, only sub-video streams SUBVD andsub-audio streams SUBAD are included as shown in FIG. 10, the secondaryenhanced video object S-EVOB is composed of only navigation packsNV_PCK, sub-audio packs AS_PCK, and sub-video packs VS_PCK as shown atthe bottom row of FIG. 89(a).

Furthermore, when the secondary enhanced video object S-EVOB includes novideo stream as shown in FIG. 89(b), the concept of enhanced videoobject units EVOBU does not hold. Therefore, in this case, data ismanaged using a time unit STUNIT for a secondary video set composed of aset of packs included in each specific time as a management unit inplace of a secondary enhanced video object unit S-EVOBU. Therefore, thesecondary enhanced video object S-EVOB not including video streams iscomposed of a set of secondary enhanced video set time units STUNIT asshown in FIG. 89(b). When the secondary enhanced video object S-EVOB issubstitute audio video SBTAV or substitute audio SBTAD, the secondaryenhanced video object S-EVOB includes only main audio streams MANAD. Inthis case, the secondary enhanced video object S-EVOB is composed ofonly navigation packs NV_PCK and main audio packs AM_PCK as shown at thesecond row from the bottom in FIG. 89(b). In contrast, when thesecondary enhanced video object S-EVOB is secondary audio video SCDAV,the secondary audio video SCDAV includes only sub-audio streams SUBAD asshown in FIG. 10 (in a case where no video stream is included). In thiscase, the secondary enhanced video object S-EVOB is composed of onlynavigation packs NV_PCK and sub-audio packs AS_PCK as shown at thebottom row of FIG. 89(b).

The characteristic of the data structure of one element (xml descriptivesentence) written in the markup MRKUP of the embodiment will beexplained using FIG. 90. FIG. 90(c) shows the basic data structure of abasic element (xml descriptive sentence). At the beginning of the firsthalf of an element, content model information CONTMD is written, whichmakes it possible to identify the contents of each element. In theembodiment, FIG. 90 shows the description of the content modelinformation CONTMD. The individual elements of the embodiment can beroughly classified into three types of vocabulary: a content vocabularyCNTVOC, a style vocabulary STLVOC, and a timing vocabulary TIMVOC. Thecontent vocabulary CNTVOC includes area element AREAEL written as “area”in the writing location in the content model information CONTMD, bodyelement BODYEL written as “body,” br element BREKEL written as “br,”button element BUTNEL written as “button,” div element DVSNEL written as“div,” head element HEADEL written as “head,” include element INCLELwritten as “include,” input element INPTEL written as “input,” metaelement METAEL written as “meta,” object element OBJTEL written as“object,” p element PRGREL written as “p,” root element ROOTEL writtenas “root,” and span element SPANEL written as “span.” The stylevocabulary STLVOC includes styling element STNGEL written as “styling”in the writing location in the content model information CONTMD andstyle element STYLEL written as “style.” The timing vocabulary TIMVOCincludes animate element ANIMEL written as “animate” in the writinglocation in the content model information CONTMD, cue element CUEELEwritten as “cue,” event element EVNTEL written as “event,” defs elementDEFSEL written as “defs,” g element GROPEL written as “g,” link elementLINKEL written as “link,” par element PARAEL written as “par,” seqelement SEQNEL written as “seq,” set element SETELE written as “set,”and timing element TIMGEL written as “timing.” To indicate the range ofthe element, “I/content model information CONTMD>” is placed as a backtag as shown in FIG. 90(c) at the end of the element. While in thestructure of FIG. 90(c), the front tag and the back tag are separated inthe same element, the element may be written using one tag. In thiscase, content model information CONTMD is written at the head of the tagand “/>” is placed at the end of the tag.

In the embodiment, content information CONTNT is written in the areasandwiched between the front tag and the back tag as shown in FIG.90(c). As the content information CONTNT, the following two types ofinformation can be written:

1. Specific Element Information

2. PC data (#PCDATA)

In the embodiment, as shown in FIG. 90(a), “1. Specific elementinformation (xml descriptive sentence)” can be set as contentinformation CONTNT. In this case, the element set as content informationCONTNT is called “child element,” whereas the element including thecontent information CONTNT is called “parent element.” Combiningattribute information on the parent element and attribute information onthe child element makes it possible to represent various functionsefficiently. As shown in FIG. 90(c), attribute information (attributes)is placed in the front tag in an element (xml descriptive sentence),thereby making it possible to set the attribute of the element. In theembodiment, the attribute information (attributes) is classified into“required attribute information RQATRI” and “optional attributeinformation OPATRI.” The “required attribute information RQATRI” hascontents that have to be written in a specified element. In the“optional attribute information OPATRI,” the following two types ofinformation can be recorded:

-   -   Attribute information which is set as standard attribute        information in a specified element and may not be written in the        element (xml descriptive sentence)    -   Information additionally written in the element (xml descriptive        sentence) by extracting arbitrary attribute information from an        attribute information table defined as optional information

As shown in FIG. 90(b), the embodiment is characterized in that displayor execution timing on the time axis can be set on the basis of“required attribute information RQATRI” in a specific element (xmldescriptive sentence). Specifically, Begin attribute informationrepresents the starting time MUSTTM of an execution (or display) period,dur attribute information is used to set the time interval MUDRTM of theexecution (or display) period, and end attribute information is used toset the ending time MUENTM of the execution (or display) period. Thesepieces of information used to set display or execution time on the timeaxis makes it possible to set timing minutely in synchronization with areference clock in displaying or executing the information correspondingto each element. With a conventional markup MRKUP, animations or movingpictures could be displayed and the timing of accelerating or slowingthe playback time of the animations or moving pictures could be set.However, with the conventional display method, detailed control along aspecific time axis (e.g., appearance or disappearance in the middle ofprocessing or execution start or end in the middle of processing) couldnot be performed. Moreover, when a plurality of moving pictures andanimations were displayed on a markup page MRKUP, the synchronoussetting of the display timing of individual moving pictures andanimations could not be done. In contrast, the embodiment ischaracterized in that, since display or execution timing on the timeaxis can be set minutely on the basis of “required attribute informationRQATRI” in a specific element (xml descriptive sentence), minute controlalong the time axis can be performed, which was impossible in theconventional markup page MRKUP. Furthermore, in the embodiment, when aplurality of animations and moving pictures are displayed at the sametime, they can be displayed in synchronization with one another, whichassures the user of more detailed expressions. In the embodiment, as areference time (reference clock) in setting the starting time MUSTTM(Begin attribute information) and ending time MUENTM (end attributeinformation) of the execution (or display) period or the time intervalMUDRTM (dur attribute information) of the execution (or display) period,any one of the following can be set:

1. “Media Clock” (or “Title Clock) Representing a Reference ClockServing as a Reference of the Title Timeline TMLE Explained in FIG. 17

-   -   It is defined by the frame rate information FRAMRT (timeBase        attribute information) in a title set element as shown in FIG.        23B(d)

2. “Page Clock” Set for Each Markup Page MRKUP (the Advance of Time (theCounting Up of Clocks) is Started From When the Corresponding MarkupPage MRKUP Goes Into the Active State)

-   -   It is defined by frequency information TKBASE (tickBase        attribute information) on tick clocks used in a markup page as        shown in FIG. 23B(d)

3. “Application Clock” Set for Each Application (the Advance of Time(the Counting Up of Clocks) is Started from When the CorrespondingApplication Goes Into the Active State)

In the embodiment, primary enhanced video object data P-EVOB andsecondary enhanced video object data S-EVOB make progress along thetitle timeline TMLE on the basis of the media clock (title clock).Therefore, for example, when the user presses “Pause” button to stop theadvance of time on the title timeline TMLE temporarily, the frameadvance of primary enhanced video object data P-EVOB and secondaryenhanced video object data S-EVOB is stopped in synchronization with thepressing of the button, which produces a still image displaying state.In contrast, both of the page clock and application clock advance intime (or the counting up of the clocks progresses) in synchronizationwith the tick clock. In the embodiment, the media clock and the tickclock advance in time independently (or the counting up of the mediaclock and that of the tick clock are done independently). Therefore,when the page clock or application clock is selected as a reference time(clock) in setting display or execution timing on the time axis on thebasis of the “required attribute information RQATRI,” this produces theeffect of being capable of continuing playback (the advance of time)with the markup MRKUP under no influence even if the advance of time onthe title timeline stops temporarily. For example, the markup MRKUPenables special playback (e.g., fast forward or rewind) to be carriedout on the title timeline TMLE, while displaying animations or news (orweather forecast) in tickers at standard speed, which improves theuser's convenience remarkably. The reference time (clock) in settingdisplay or execution timing on the time axis on the basis of the“required attribute information RQATRI” is set in a timing elementTIMGEL in the head element HEADEL shown in FIG. 91A(a). Specifically, itis set as the value of clock attribute information (indicated by anunderline over α) in a timing element TIMGEL placed in the head elementHEADEL shown in FIG. 92(f). (Since in the example of FIG. 92(f), anadvanced subtitle ADSBT is displayed, the title clock (media clock) isset as the reference time (clock) in setting display or execution timingon the time axis on the basis of the “required attribute informationRQATRI.”

Furthermore, the embodiment is characterized by FIG. 90(d).Specifically, arbitrary attribute information STNSAT defined in a stylename space can be used (or set) as optional attribute information PRATRIin many elements (xml descriptive sentences). This enables the arbitraryattribute information STNSAT defined in the style name space not only toset display and representation methods (forms) in a markup page MRKUPbut also to prepare a very wide range of options. As a result, use ofthe characteristic of the embodiment improves the representational powerin the markup page MRKUP remarkably as compared with conventionalequivalents.

Using FIGS. 91A and 92B, the structure of a markup MARKUP descriptivesentence in the embodiment will be explained. As shown in FIG. 91A(a),the embodiment is characterized in that a timing element TIMGEL and astyling element STNGEL are arranged in the head element HEADEL of theroot element ROOTEL in the markup MRKUP descriptive sentence.Specifically, a timing element TIMGEL is set in the head element HEADEL,thereby defining a time sheet corresponding to the corresponding markupMRKUP. This makes it possible to specify minute display timing for thecommon contents in the markup MRKUP. The embodiment is characterized bynot only specifying the common display timing minutely in thecorresponding markup MRKUP by defining a time sheet using the timingelement TIMGEL but also being capable of using the contents of the timesheet set in the timing element TIMGEL in a body element BODYELexplained later. Moreover, various elements in the timing vocabularyTIMVOC shown in FIG. 91B(c) can be written in the timing element TIMGELin the head element HEADEL.

The contents of the timing vocabulary TIMVOC written in the timingelement TIMGEL in the head element HEADEL will be explained in detailusing FIG. 91B(c). The timing vocabulary TIMVOC includes animateelements ANIMEL, cue elements CUEELE, event elements EVNTEL, defselements DEFSEL, g elements GROPEL, link elements LINKEL, par elementsPARAEL, seq elements SEQNEL, set elements SETELE, and timing elementsTIMGEL. Specifically, the animate element ANIMEL sets animations orspecifies the change of setting conditions. The cue element CUEELE hasthe function of selecting a child element on the basis of the specifiedcondition and carrying out an executing process (or a replacing process)with specific timing. The event element EVNTEL generates an eventhandled by a script. The defs element DEFSEL defines a set (or a group)of specific animation elements. The g element GROPEL defines thegrouping of animation elements. The link element LINKEL loads aspecified resource and sets a hyperlink that carries out a replacingprocess. The par element PARAEL defines a parallel progress of time. Theseq element SEQNEL defines a sequential progress of time. The setelement SETELE sets various attribute conditions and characteristicconditions. The timing element TIMGEL sets timing conditions for all ofthe advanced applications.

A styling element STNGEL in the head element HEADEL will be explained.The embodiment is characterized in that a styling element STNGEL isplaced in the head element HEADEL. Use of a styling element STNGEL makesit possible to define a style sheet for the corresponding markup MRKUP.The style sheet for the corresponding markup MRKUP is defined by thestyling element STNGEL in the head element HEADEL, thereby specifying adisplay format for all of the corresponding markup MARUP. In theembodiment, the styling element STNGEL in the head element HEADEL setsvarious display formats (or styles) equally and the set display formats(or styles) are referred to in a body element BODYEL explained later,thereby making it possible to standardize display formats in theindividual descriptive sentences in the body element BODYEL. Moreover,referring to a part of the styling element STNGEL of the head elementHEADEL in the body element BODYEL makes it possible not only to reducethe amount of writing in the body element BODYEL and therefore theamount of descriptive text in all of the markup descriptive sentences,but also to simplify the displaying method at the advanced contentplayback section ADVPL using the markup descriptive sentence. In thestyling element STNGEL in the head element HEADEL, the elements includedin the style vocabulary STLVOC can be written as shown in FIG. 91B(d).The elements included in the style vocabulary STLVOC that can be writtenin the styling element STNGEL include a styling element STNGEL and astyle element STYLEL as shown in FIG. 91B(d). The styling element STNGELhas the function of setting a style sheet. The style element STYLEL hasthe function of collectively setting display formats (or styles).

Furthermore, as shown in FIG. 91A(a), in the body element BODYEL putbehind the head element HEADEL in the root element ROOTEL, variouselements belonging to the content vocabulary CNTVOC included in a listshown in FIG. 91A(b) can be written. In the embodiment, not only neitherthe timing vocabulary TIMVOC of FIG. 91B(c) nor the style vocabularySTLVOC of FIG. 91B(d) is written in the body element BODYEL, but alsoneither the style vocabulary STLVOC nor the content vocabulary CNTVOC iswritten in the timing element TIMGEL. Moreover, in the styling elementSTNGEL, neither various elements in the timing vocabulary TIMVOC of FIG.91B(c) nor various elements included in the content vocabulary CNTVOC ofFIG. 91B(b) are written. As described above, in the embodiment, thecontents of the elements written in the timing element TIMGEL, stylingelement STNGEL, and body element BODYEL are determined separately,thereby clarifying the information writing range in various elements andassigning the contents, which simplifies the data analyzing process ofthe advanced content playback section ADVPL which reproduces the markupMRKUP (specifically, a programming engine PRGEN placed in an advancedapplication manager ADAMNG in the navigation manager NVMNG shown in FIG.28). Hereinafter, various elements included in the content vocabularyCNTVOC placed (or written) in the body element BODYEL will be explained.As shown in FIG. 91B(b), the content vocabulary CNTVOC includes areaelements AREAEL, br elements BREKEL, button elements BUTNEL, divelements DVSNEL, include elements INCLEL, input elements INPTEL, metaelements METAEL, object elements OBJTEL, p elements PRGREL, paramelements PRMTEL, and span elements SPANEL. The contents of theindividual elements will be described concretely below. The area elementAREAEL is classified into a “transition to execution” class anddetermines an area on a screen for which transition to execution (or anactive state) (by clips or the like) can be specified. The br elementBREKEL is classified into a “display” class and carries out forceddisplay and output. The button element BUTNEL is classified into a“state” class and sets a user input button. The div element DVSNEL isclassified into an “operation” class and sets the divisions of blocksplitting of elements belonging to the same block type. The includeelement INCLEL is classified into an “nondisplay” class and specifies adocument to be referred to. The input element INPTEL is classified intothe “state” class and sets a text box the user can input. The metaelement METAEL is classified into the “nondisplay” class and sets (acombination of) elements representing the contents of an advancedapplication. The object element OBJTEL is classified into the “display”class and sets an object file name and display format attached to amarkup page. The p element PRGREL is classified into the “operation”class and sets the display timing and display format of paragraph blocks(or text extending over a plurality of rows). The param element PRMTELis classified into the “nondisplay” class and sets parameters for objectelements. The span element SPANEL is classified into the “operation” andsets the display timing and display format for one row of content (ortext) (in a block).

As shown in FIG. 16, the embodiment is characterized in that a telopcharacter 39 or a subtitle can be displayed on a screen shown to theuser by using an advanced subtitle ADSBT. To reproduce the advancedsubtitle ADSBT and display it on the screen, the manifest MNFSTS of theadvanced subtitle is referred to from the playlist PLLST as shown inFIG. 12 and then the markup MRKUPS of the advanced subtitle is referredto from the manifest MNFSTS of the advanced subtitle. The markup MRKUPSof the advanced subtitle is such that the font FONTS of the advancedsubtitle is referred to, thereby displaying the characters based onspecific fonts on the user screen. As a method of showing subtitles ortickers to the user by using the concept of the advanced subtitle ADSBT,the method of using event elements EVNTEL shown in FIGS. 77 and 78 hasalready been explained. As another embodiment of the method ofreproducing subtitles or tickers by using event elements EVNTEL of FIGS.77 and 78, a method of writing subtitle characters or telop charactersusing markup MRKUPS descriptive sentences as shown in FIG. 92(f) will beexplained. The method of FIG. 92 is superior in scalability andversatility to the method shown in FIGS. 77 and 78. In the embodiment,showing subtitles or tickers by the method of FIG. 92 is recommended.The technique for displaying animations on a home page in the Internetand changing displayed images as time advances has been used. Incontrast, the embodiment of FIG. 92 is characterized in that the titletimeline TMLE is used as a reference and that subtitles or tickers canbe displayed or switched in such a manner that subtitles or tickers arecaused to synchronize with a primary video set PRMVS for displaying themain story 31, using such very small units as fields or frames. As shownin FIG. 17, in the embodiment, a title timeline TMLE serving as areference of the progress of time is set for each title and a primaryvideo set PRVS and an advanced subtitle ADSBT indicating subtitles ortickers are mapped on the title timeline TMLE (specifying the timing ofstarting and ending display along the progress of time on the titletimeline TMLE). This makes it possible to display a plurality ofrepresentation objects (meaning the primary video set PRMVS and advancedsubtitle ADSBT in the embodiment of FIG. 92) at the same time in such amanner that they are synchronized with one another on the time axis. Themapping state of the individual representation objects on the titletimeline TMLE is written in the playlist PLLST. The playlist PLLST isused to manage the playback display timing of the individualrepresentation objects. FIG. 92(d) shows the mapping state of theprimary video set PRMVS indicating the contents of the main story 31mapped along the progress of time on the title timeline TMLE and theadvanced subtitle ADSBT having information on subtitles (or tickers).FIG. 92(a) shows the contents of the subtitles (or tickers) displayedfrom “T1” to “T2” on the title timeline TMLE. Similarly, FIG. 92(b)shows the contents of the subtitles (or tickers) displayed from “T2” to“T3” on the title timeline TMLE. FIG. 92(c) shows the contents of thesubtitles (or tickers) displayed from “T3” to “T4” on the title timelineTMLE. That is, as shown in FIG. 92(a) to FIG. 92(d), setting is done sothat the contents of subtitles (or tickers) may be switched at time“T2,” “T3,” and “T4” on the title timeline TMLE. In the embodiment ofFIG. 92, the size of subtitles (or tickers), display position on thescreen, and colors and fonts (e.g., normal or italic letters) switchedat time “T2” and “T3” on the title timeline TMLE can be changed and setminutely. The contents of the timing of various representation objectsmapped on the title timeline TMLE shown in FIG. 92(d) are written inobject mapping information OBMAPI in the playlist PLLST (for example,see FIG. 24(a)). As shown in FIG. 12, the advanced subtitle ADSBTdisplaying subtitles or tickers is composed of the manifest MNFSTS ofthe advanced subtitle and markup MRKUPS of the advanced subtitle, andfonts FONTS of the advanced subtitle as needed.

FIG. 92(e) shows a part of the contents of information written in themanifest MNFSTS of the advanced subtitle of FIG. 12. In the contents ofinformation written in the manifest MNFST of the advanced subtitle, areaelement RGNELE in an application element, markup element MRKELE,resource element RESELE, and others are written (see FIG. 81(a)). In thedescription example in FIG. 92(e), the following values are omitted inthe area element RGNFLE: the X coordinate value XAXIS (X attributevalue) of the application area specifying position on the canvas,” the Ycoordinate value YAXIS (Y attribute value) of the application areaspecifying position on the canvas,” the width WIDTH (width attributeinformation) of the application area in the canvas coordinates,” and“the height HEIGHT (height attribute information) of the applicationarea in the canvas coordinates.” As explained in FIG. 81(b), when thedescription of these values is omitted in the area element RGNELE, thismeans that the size and location of the application area APPRGN in whichsubtitles are set are caused to coincide completely with the apertureAPRT (the full size of each screen shown in FIGS. 92(a) to 92(c)). Thisenables the subtitle or ticker to be placed in any position on the fullscreen shown to the user. As shown in FIG. 12, the manifest MNFSTS ofthe advanced subtitle refers to the markup MRKUPS of the advancedsubtitle. The information referred to is written in “the storagelocation SRCMRK (src attribute information) of a markup file usedfirst.” In the embodiment of FIG. 92(e), the markup file MRKUPS of theadvanced subtitle is stored under the file name of MRKUPS.XAS” in arecordable persistent storage PRSTR. In addition, the file name andstorage location (path) of the font file FONT of the advanced subtitleshown in FIG. 12 are stored in the recordable persistent storage PRSTRunder the name of “FONTS.OTF” in the description example of FIG. 92(e).

Next, FIG. 92(f) shows an example of the contents written in markupMRKUPS of the advanced subtitle shown in FIG. 12. As already explainedin FIG. 91A(a), timing element TIMGEL is arranged in the head elementHEADEL in the root element ROOTEL and the display timing relatedinformation on the corresponding markup MRKUPS is set in a sharingmanner. In the embodiment, three types of clock, media clock (titleclock), application clock, and page clock, are set as a reference clockrepresenting a reference time in displaying the advanced subtitle ADSBT.The page clock and application clock are set so as to synchronize withthe tick clock and are caused to progress in time (or are counted up)independently of the media clock serving as a reference of the titletimeline TMLE. Clock attribute information (value information set by“clock=”: the part indicated by an underline over α) in the timingelement TIMGEL shown in FIG. 92(f) is used to set a part where which oneof the clocks is to be used in the corresponding markup MRKUPS is set.Since in the embodiment of FIG. 92, a subtitle or a ticker to bedisplayed is displayed in synchronization with the progress of theprimary video set PRMVS indicating the main story 31, the media clockusing the title timeline TMLE as a reference has to be used as areference clock of the advanced subtitle ADSBT. Therefore, “title”meaning the media clock (media clock limited to the title timeline TMLEin the title) is set. As described above, the embodiment ischaracterized in that clock attribute information is set to the mediaclock in synchronization with the title timeline TMLE in the timingelement TIMGEL set in the head element HEADEL in which the timinginformation corresponding to the markup MRKUPS of the advanced subtitleis set. This makes it possible to set the synchronization of the primaryvideo set PRMVS with the display timing of the advanced subtitle ADSBT,with the title timeline TMLE as a reference. Therefore, even if theplayback display of the main story 31 (primary video set PRMVS) is setto pause, FF (fast forward), or FR (fast rewind) by the user action, thedisplay timing of a subtitle or a ticker can be changed accordingly.

Furthermore, as information set in the timing element TIMGEL of FIG.92(f), the subtitle or ticker is displayed with the timing from “T0” to“TN” and the time display timing is set as sequential(timecontainer=“seq”). Although not used in actually displaying asubtitle or a ticker, the reference frequency of the tick clock servingas a reference of the page clock or advanced clock is reduced toone-fourth of the reference frequency of the media clock acting as areference of the title timeline TMLE (clockDivisor=“4”). FIGS. 91A(b) to91B(d) show the individual element names used in the descriptivesentence in the markup MRKUPS and their contents in the embodiment. Theembodiment is characterized in that a subtitle or a ticker changing insynchronization with the screen is set using a span element SPANEL or ap element PRGREL (or a combination of a span element SPANEL or a pelement PRGREL with an object element OBJTEL) in each element shown inFIGS. 91A(b) to 91B(d). That is, use of a span element SPANEL or a pelement PRGREL enables a subtitle or a ticker to be displayed mosteffectively by a simple process. In addition, as shown in FIG. 91A(b),an object file name and a display format attached to a markup pageMRKUPS can be set in an object element OBJTEL. Thus, combining the spanelement SPANEL or p element PRGREL with the object element OBJTEL makesit possible to specify a font file FONTS used in the markup MRKUPS. Thatis, combining the span element SPANEL or p element PRGREL with theobject element OBJTEL (or setting the relationship between a parentelement and a child element) makes it possible to show the user thecontents of the subtitle or ticker set in the span element SPANEL or pelement PRGREL in the font style on the basis of the font file FONTS setin the object element OBJTEL. As described above, with the method ofsetting the font file FONTS to be referred to by the object elementOBJTEL, a subtitle or a ticker can be shown to the user using anarbitrary font, which improves the representation power of the subtitleor ticker to the user remarkably. In an embodiment shown in FIG. 92(f),a file whose file name is “FONTS.OTF” in the persistent storage PRSTR isreferred to using the src attribute information in the object elementOBJTEL and a font file FONTS is specified as the file type using typeattribute information. As shown in FIG. 92(e), the font file FONTS isspecified in the resource element RESELE in the manifest file MNFSTS.The correspondence of the font file FONTS with the font file FONTSspecified in the markup file MRKUPS is shown by a broken line β of FIG.92.

Furthermore, the timing of staring to display each subtitle or ticker isset by the value of begin attribute information in the p element PRGREL.That is, as in the relationship shown by a broken line γ of FIG. 92, thep element PRGREL set in ID information “P1ID” starts to be reproduced attime “T1.” Moreover, as in the relationship shown by a broken line δ ofFIG. 92, the p element PRGREL set in ID information “P2ID” starts to bereproduced at time “T2.” In addition, as in the relationship shown by abroken line ε of FIG. 92, the p element PRGREL set in ID information“P3ID” starts to be reproduced at time “T3.” The display period is setusing dur attribute information in each p element PRGREL and theplayback end time is set by the value of end attribute information. Asdescribed in FIG. 90(b), the embodiment is characterized in that settingattribute information indicating the display timing in essentialattribute information RQATRI (required attributes) in the element makesit possible to set the timing of displaying an advanced subtitle ADSBTwhich represents a subtitle (or a ticker) with very high accuracy. Sincein the example of FIG. 92, one type of subtitle or ticker is changed astime advances, timeContainer attribute information is set as asequential progress of time (“seq”).

Furthermore, as shown in FIG. 90(d), arbitrary attribute informationSTNSAT defined in a style name space can be set as optional attributeinformation in many elements (xml descriptive sentences), which producesthe effect of improving the power of expression in the markup pageMRKUPS remarkably. In the example of FIG. 92(e), style:fontStyleattribute information, style:color attribute information,style:textAlign attribute information, style:width attributeinformation, style:textAltitude attribute information, and style:yattribute information are set as optional attribute information OPATRIin the p element PRGREL, thereby setting the display screen size,display color, and font format of each subtitle or ticker on a screenshown to the user. As described above, since arbitrary attributeinformation STNSAT defined in the style name space can be set for each pelement PRGREL, a subtitle or a ticker can be displayed in a stylediffering from one p element PRGREL to another. That is, on the screensshown in FIGS. 92(a) and 92(c), the display size of a subtitle or tickeris relatively small and the subtitle or ticker is represented in blackusing a standard font, whereas on the screen shown in FIG. 92(b), thesize of the subtitle or ticker is made larger and the subtitle or tickeris made italic and a specific subtitle or ticker is highlighted byrepresenting them in red.

The contents of various types of attribute information written in the pelement PRGREL shown in FIG. 92(f) and the relationship with differenceson each screen will be explained below. First, style:fontStyle attributeinformation indicates the font style. Since the font style is set to anormal style (“normal”) in the p element PRGREL in “PLID” and “P3ID” andto italic (“italic”) in the p element PRGREL in “P2ID,” the subtitle orticker is represented in italic characters on the screen of FIG. 92(b).Moreover, style:color attribute information represents the color of asubtitle or ticker to be displayed. “Black” is specified in the pelement PRGREL in “P1ID” and “P3ID” and “red” is specified in the pelement PRGEL in “P2ID”, thereby highlighting the display to the user.In addition, style:textAlign attribute information indicates the displaylocation of the subtitle or ticker on the screen. In the writing exampleof FIG. 92(f), setting is done so that either of them may be displayedin the center (“center”). Moreover, style:width attribute informationand style:textAltitude attribute information determines the charactersize of the subtitle or ticker on the screen shown to the user.Furthermore, style:y attribute information determines the location inthe vertical direction of the subtitle or ticker on the screen shown tothe user. Specifically, as in the relationship shown by a broken line ζ,information on the character size of the subtitle or ticker on thescreen of FIG. 92(a) and on the location in the vertical direction ofthem is written in style:width attribute information, style:textAltitudeattribute information, and style:y attribute information in the pelement PRGREL of “P1ID.” Moreover, as in the relationship shown by abroken line μ, information on the character size of the subtitle orticker on the screen of FIG. 92(b) and on the location in the verticaldirection of them is written in style:width attribute information,style:textAltitude attribute information, and style:y attributeinformation in the p element PRGREL in “P2ID.” Similarly, as in therelationship shown by a broken line ν, information on the character sizeof the subtitle or ticker on the screen of FIG. 92(c) and on thelocation in the vertical direction of them is written in style:widthattribute information, style:textAltitude attribute information, andstyle:y attribute information in the p element PRGREL in “P3ID.”

The embodiment makes possible the following:

1. The compatibility between the playback-only HD_DVD-Video standard andthe recording and reproducing HD_VR standard is improved.

2. A playback-only HD_DVD-Video data management structure excellent inthe compatibility with the existing Video Recording standard isprovided.

As shown in FIG. 90(c) in the embodiment, in an element (xml descriptivesentence), required attribute information RQATRI and optional attributeinformation OPATRI can be written behind content model informationCONTMD written at the beginning of the front tag. As shown in FIG.91(a), in a body element BODYEL existing in a position different fromthe head element HEADEL in the root element ROOTEL, various elements (orcontent elements) belonging to a content vocabulary CNTVOC of FIG. 91(b)can be arranged. The contents of the required attribute informationRQATRI or optional attribute information OPATRI written in the contentelement are listed in a table shown in FIG. 93. Using FIG. 93, varioustypes of attribute information used in the content element will beexplained.

<Attributes>

This section defines the common and content element specific attributesemployed by Advanced Application element types. For each attribute, avalue type and implied value is specified, with value types beingexpressed as XML Schema datatypes.

In FIG. 93, “accessKey” indicates attribute information for settingspecified key information for going into an execution state. The“accessKey” is used as required attribute information RQATRI. Thecontents of “value” to be set as “accessKey” are “key information list.”An initial value (Default) is not set. The state of value change isregarded as being “fixed.” “coords” next to “accessKey” is attributeinformation for setting a shape parameter in an area element. The“coords” is used as optional attribute information OPATRI. The contentsof “value” to be set as “coords” are “shape parameter list.” An initialvalue (Default) is not set. The state of value change is regarded asbeing “fixed.” “id” next to “coords” is attribute information forsetting identification data (ID data) about each element. The “id” isused as optional attribute information OPATRI. The contents of “value”to be set as “id” are “identification data (ID data).” An initial value(Default) is not set. The state of value change is regarded as being“fixed.” “condition” next to “id” is attribute information for defininguse conditions in an include element. The “condition” is used asrequired attribute information RQATRI. The contents of “value” to be setas “condition” are “boolean representation.” An initial value (Default)is not set. The state of value change is regarded as being “fixed.”“mode” next to “condition” is attribute information for defining userinput format in an input element. The “mode” is used as requiredattribute information RQATRI. The contents of “value” to be set as“mode” are one of “password,” “one line,” “plural lines,” and “display.”An initial value (Default) is not set. The state of value change isregarded as being “fixed.” “name” next to “mode” is attributeinformation for setting a name corresponding to a data name or an event.The “name” is used as required attribute information RQATRI. Thecontents of “value” to be set as “name” are “name information.” Aninitial value (Default) is not set. The state of value change isregarded as being “fixed.” “shape” next to “name” is attributeinformation for specifying an area shape defined in an area element. The“shape” is used as optional attribute information OPATRI. The contentsof “value” to be set as “shape” are one of “circle,” “square,”“continuous line,” and “default.” An initial value (Default) is not set.The state of value change is regarded as being “fixed.” “src” next to“shape” is attribute information for specifying a resource storagelocation (path) and a file name. The “src” is used as optional attributeinformation OPATRI. The contents of “value” to be set as “src” are oneof “URI (Uniform Resource Identifier).” An initial value (Default) isnot set. The state of value change is regarded as being “fixed.” “type”next to “src” is attribute information for specifying a file type (MIMEtype). The “type” is used as required attribute information RQATRI. Thecontents of “value” to be set as “type” are “MIME type information.” Aninitial value (Default) is not set. The state of value change isregarded as being “fixed.” “value” next to “type” is attributeinformation for setting the value (variable value) of name attributeinformation. The “value” is used as optional attribute informationOPATRI. The contents of “value” to be set as “value” are “variablevalue.” An initial value (Default) is set using a variable value. Thestate of value change is regarded as being “variable.” “xml:base” nextto “value” is attribute information for specifying reference resourceinformation about the element/child element. The “xml:base” is used asoptional attribute information OPATRI. The contents of “value” to be setas “xml:base” are “URI (Uniform Resource Identifier).” An initial value(Default) is not set. The state of value change is regarded as being“fixed.” “xml:lang” next to “xml:base” is attribute information forspecifying text language code in the element/child element. The“xml:lang” is used as optional attribute information OPATRI. Thecontents of “value” to be set as “xml:lang” are “language codeinformation.” An initial value (Default) is not set. The state of valuechange is regarded as being “fixed.” “xml:space” next to “xml:lang” isattribute information for putting a blank column (or blank row) just infront. The “xml:space” is used as optional attribute information OPATRI.The contents of “value” to be set as “xml:space” are “nil.” An initialvalue (Default) is not set. The state of value change is regarded asbeing “fixed.”

As shown in FIG. 90(c), required attribute information RQATRI andoptional attribute information OPATRI can be written in an element (xmldescriptive sentence). Moreover, as shown in 91(a), in the head elementHEADEL in the root element ROOTEL, a timing element TIMGEL can beplaced. In the timing element TIMGEL, various elements belonging to atiming vocabulary TIMVOC shown in FIG. 91(c) can be placed. FIG. 94shows a list of required attribute information RQATRI or optionalattribute information OPATRI which can be written in various elementsbelonging to the timing vocabulary TIMVOC shown in FIG. 91(c).

<Attributes>

This section defines the timing specific attributes employed by AdvancedApplication element types. For each attribute, a value type and impliedvalue is specified, with value types being expressed as XML Schema datatypes.

<additive>

Values: sum replace

Default: replace

Animation: none

The value sum specifies that the animation will add to the underlyingvalue of the attribute or any pre-existing animation of the property.

The value replace specifies that the animation will override anypre-existing animation of the property.

This attribute is ignored if the target property does not supportadditive animation.

<begin>

Values: <timeexpression><pathExpression>

Default: Os

Animation: none

Defines the start of the active interval, relative to its parent orsibling active interval as defined above. The use of a <pathExpression>is restricted to timing elements whose clock base is not ‘tide’, use ofpath expressions in timing elements whose clock base is ‘tide’ is a wellformed error.

<calc Mode>

Values: linear | discrete

Default: linear

Animation: none

Specifies the interpolation mode for the animation, discrete meaningthat the animation may only take key values specified in the animation,linear meaning that the animation will interpolate values between thekey values.

In FIG. 94, as for attribute information used in various elementsbelonging to the timing vocabulary TIMVOC, “additive” is an attributefor setting whether to add a variable value to an existing value or toreplace a variable value with an existing value. Either “addition” or“replacement” can be set as the contents of a value to be set. In theembodiment, “replacement” is set as an initial value (default value) of“additive.” The state of value change is in the fixed state. The“additive” attribute information belongs to required attributeinformation RQATRI shown in FIG. 90(c). In addition, “begin” is anattribute for defining the beginning of execution (according to aspecified time or a specific element). Either “time information” or“specific element specification” can be set as the contents of a valueto be set. If setting is done according to “time information,” the valueis written in the format “HH:MM:SS:FF” (HH is hours, MM is minutes, SSis seconds, and FF is the number of frames). In the embodiment, aninitial value (default value) of “begin” is set using “variable value.”The state of value change is in the fixed state. The “begin” attributeinformation belongs to required attribute information RQATRI shown inFIG. 90(c). “calcMode” next to “begin” is an attribute for setting acalculation mode (continuous value/discrete value) for variables. Either“continuous value” or “discrete value” can be set as the contents of avalue to be set. In the embodiment, “continuous value” is set as aninitial value (default value) of “calcMode.” The state of value changeis in the fixed state. The “calcMode” attribute information belongs torequired attribute information RQATRI shown in FIG. 90(c). In addition,“dur” is an attribute for setting the length of an execution period ofthe corresponding element. As the contents of a value to be set, “timeinformation (TT:MM:SS:FF)” can be set. In the embodiment, “variablevalue” is set as an initial value (default value) of “dur.” The state ofvalue change is in the fixed state. The “dur” attribute informationbelongs to optional attribute information OPATRI shown in FIG. 90(c).Moreover, “end” is an attribute for setting the ending time of theexecution period of the corresponding element. Either “time information”or “specific element specification” can be set as the contents of avalue to be set. If the value is set according to “time information,”the value is written in the format “HH:MM:SS:FF” (HH is hours, MM isminutes, SS is seconds, and FF is the number of frames). In theembodiment, “variable value” is set as an initial value (default value)of “end.” The state of value change is in the fixed state. The “end”attribute information belongs to optional attribute information OPATRIshown in FIG. 90(c). In FIG. 94, as for attribute information used invarious elements belonging to the timing vocabulary TIMVOC, “fill” is anattribute for setting the state of a subsequent change when the elementis terminated before the ending time of the parent element. Either“cancel” or “remaining unchanged” can be set as the contents of a valueto be set. In the embodiment, “cancel” is set as an initial value(default value) of “fill.” The state of value change is in the fixedstate. The “fill” attribute information belongs to optional attributeinformation OPATRI shown in FIG. 90(c). Moreover, in FIG. 94, as forattribute information used in various elements belonging to the timingvocabulary TIMVOC, “select” is an attribute for selecting and specifyinga content element to be set or to be changed. “specific element” can beset as the contents of a value to be set. In the embodiment, “nil” isset as an initial value (default value) of “select.” The state of valuechange is in the fixed state. The “select” attribute information belongsto required attribute information RQATRI shown in FIG. 90(c). The“select” attribute information plays an important role in showing therelationship between the contents of the content vocabulary CNTVOC inthe body element BODYEL and the contents of the timing vocabulary TIMVOCin the timing element TIMGEL or of the style vocabulary STLVOC in thestyling element STNGEL (see FIG. 91(a)), thereby improving theefficiency of the work of creating a new markup MRKUP or of editing amarkup MRKUP. The concrete roles and effects of the “select” attributeinformation are described in FIGS. 101A and 101B, or 102A and 102B andin its captions. In FIG. 94, “clock” next to “select” is an attributefor defining a reference clock determining a time attribute in theelement. As the contents of a value to be set, any one of “title (titleclock),” “page (page clock),” and “application (application clock)” canbe set. In the embodiment, an initial value (default value) for “clock”changes according to the condition of each use. The state of valuechange is in the fixed state. The “clock” attribute information belongsto required attribute information RQATRI shown in FIG. 90(c). Moreover,as shown in FIG. 100, the “clock” attribute information is written asrequired attribute information RQATRI in the timing element TIMGEL,thereby defining a reference clock for time progress in a markup pageMRKUP. In the embodiment, as shown in FIG. 17, in the playlist PLLSTthat manages the procedure for reproducing and displaying advancedcontents ADVCT for the user, time progress for each title and the timingof reproducing and displaying for each presentation object (or eachobject in an advanced content ADVCT) on the basis of the time progressare managed. As a reference for determining the timing of reproducingand displaying, a title timeline TMLE is defined for each title. In theembodiment, time progress on the title time line TMLE is represented by“hours:minutes:seconds:the count of frames (or the aforementioned“HH:MM:SS:FF”). As a reference clock for the count of frames, mediumclock is defined. The frequency of the medium clock is, for example, “60Hz” in the NTSC system (even in the case of interlaced display) and “50Hz” in the PAL system (even in the case of interlaced display). Asdescribed above, since the title timeline TMLE is set separately titleby title, the medium clock is also called “title clock.” Therefore, thefrequency of the “title clock” coincides with the frequency of mediumclock used as a reference on the title timeline TMLE. When “title (titleclock)” is set as the value of the “clock” attribute information, timeprogress on the markup MRKUP completely synchronizes with time progresson the title timeline TMLE. Accordingly, in this case, a value set as“begin” attribute information, “dur” attribute information, or “end”attribute information is set so as to be consistent with the elapsedtime on the title timeline TMLE. In contrast, in “page clock” or“application clock,” a unique clock system called “tick clock” is used.While the frequency of the medium clock is “60 Hz” or “50 Hz,” thefrequency of the “tick clock” is the value obtained by dividing thefrequency of the “medium clock” by the value set as “clockDivisor”attribute information described later. As described above, decreasingthe frequency of the “tick clock” makes it possible to ease the burdenon the advanced application manager ADAMNG in the navigation managerNVMNG shown in FIG. 28 and on the advanced application presentationengine AAPEN in the presentation engine PRSEN shown in FIG. 30, whichenables power consumption in the advanced content playback section ADVPLto be reduced. Accordingly, when “page (page clock)” or “application(application clock)” is set as the value of the “clock” attributeinformation, the reference clock frequency serving as the reference fortime progress on the markup MRKUP coincides with the frequency of the“tick clock.” In the embodiment, the screen shown to the user during theexecution period of the same application (advanced application ADAPL)can be switched between markups MRKUP (or transferred from one markup toanother). When “application (application clock)” is set as the value ofthe “clock” attribute information, although the value of “applicationclock” is reset to “0” at the same time of the start of the execution ofthe advanced application ADAPL, the counting up (time progress) of the“application clock” is continued, regardless of the transition of thescreen between markups MRKUP. In contrast, “page (page clock)” is set asthe value of the “clock” attribute information, the value of “pageclock” is reset to “0” each time the screen is transferred from onemarkup MRKUP to another. As described above, the embodiment ischaracterized in that the best reference clock is set according to thepurpose of use (or intended use) of a markup MRKUP or an advancedapplication ADAPL, thereby enabling display time management mostsuitable for the purpose of use (or intended use).

In FIG. 94, as for attribute information used in various elementsbelonging to the timing vocabulary TIMVOC, “clockdivisor” is anattribute for setting the value of [frame rate (title clockfrequency)]/[tick clock frequency]. As the contents of a value to beset, “an integer equal to or larger than 0” can be set. In theembodiment, “1” is set as an initial value (default value) of the“clockDivisor.” The state of value change is in the fixed state. The“clockdivisor” attribute information is treated as required attributeinformation RQATRI used in a timing element TIMGEL as shown in FIG. 100.

Furthermore, “timeContainer” is an attribute for determining a timing(time progress) state used in an element. As the contents of a value tobe set, either “parallel simultaneous progress” or “simple sequentialprogress” can be set. In the embodiment, “parallel simultaneousprogress” is set as an initial value (default value) of the“timeContainer.” The state of value change is in the fixed state. The“timecontainer” attribute information belongs to optional attributeinformation OPATRI shown in FIG. 90(c). For example, as shown in FIGS.92(f) and 102B(e), a screen on which a representation continues tochange according to time progress as in a subtitle display or tickerdisplay is displayed, “simple sequential progress (sequence)” isspecified for the value of the “timecontainer.” In contrast, when aplurality of processes are carried out in parallel simultaneously in thesame period of time in, for example, “displaying an animation to theuser and making up the user's bonus score according to the contents ofthe user's answers,” “parallel simultaneous progress (parallel) is setat the value of “timeContainer.” As described above, processing sequenceconditions for time progress are specified in advance in a markup MRKUP,enabling advance preparation before the execution of the programmingengine PRGEN in the advanced application manager ADAMNG shown in FIG.28, which makes more efficient the processing in the programming enginePRGEN.

The last attribute “use” is an attribute for referring to a group ofanimate elements or a group of animate elements and event elements. Asthe contents of a value to be set, “element identifying ID data” can beset. In the embodiment, “nil” is set as an initial value (default value)of the “use.” The state of value change is in the fixed state. The “use”attribute information belongs to optional attribute information OPATRIshown in FIG. 90(c).

As shown in FIG. 90(c), in the embodiment, as the basic data structureof an element (xml descriptive sentence), optional attribute informationOPATRI can be written in the element. As shown in FIG. 90(d), arbitraryattribute information STNSAT defined in a style name space can be usedas the optional attribute information OPATRI in many elements (xmldescriptive sentences). In the embodiment, as arbitrary attributeinformation STNSAT defined in a style name space, a very wide range ofoptions are prepared as shown in FIGS. 95A to 97B. As a result, theembodiment is characterized in that the power of expression in themarkup page MRKUP has been improved much more greatly than before. Thedescription of various attributes defined as options in the style namespace is shown in FIGS. 95A to 973.   <Attributes>   <style:anchor>  The anchor attribute sets the anchor property.   The anchor propertyis defined as follows:   Domain:   startBefore|centerBefore | endBefore|     StartCenter | center | endCenter|     StartAfter | centerAfter |endAfter   Initial:   startBefore   Applies to: positioned elements  Inherited: no   Percentages: no   Media: visual   Animation: discrete

The anchor property is used to control how the x, y, width and heightproperties are converted into the XSL top-position, left-position,right-position and bottom-position traits.

If the computed value of the relative-position property of the elementis absolute, then the left-position, right-position, top-position andbottom-position are calculated as defined in this section, and the areais positioned following XSL section 4.9.1. Otherwise, the anchor, x, andy properties are ignored and the default XSL positioning applies.

In “style:anchor” attribute information, an attribute information namedefined in the style space name, a method of converting x, y, width andheight attributes into “XSL” positions is described. As a value to beset as the “style:anchor” attribute information, any one of“startBefore,” “centerBefore,” “afterBefore,” “startCenter,” “center,”“afterCenter,” “startAfter,” “centerAFter,” and “endafter” can be set.As an initial value, “startBefore” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:anchor” attribute information can be used in a“position specifying element.” In “style:backgroundColor” attributeinformation, a background color is set (or changed). As a value to beset as the “style:backgroundColor” attribute information, any one of“color,” “transparency,” and “takeover” can be set. As an initial value,“transparency” can be set. There is no continuity of the contents of avalue to be set as the attribute information. In the embodiment, the“style:backgroundColor” attribute information can be used in a “contentelement.” In “style:backgroundFrame” attribute information, a backgroundframe is set (or changed). As a value to be set as the“style:backgroundColor” attribute information, either “integer” or“takeover” can be set. As an initial value, “0” can be set. There is nocontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:backgroundFrame” attributeinformation can be used in an “area element AREAEL, a “body elementBODYEL,” a “div element DVSNEL,” a “button element BUTNEL,” an “inputelement INPTEL,” or an “object element OBJTEL.” In“style:backgroundImage” attribute information, a background image isset. As a value to be set as the “style:backgroundImage” attributeinformation, either “URI specification,” “nil,” or “takeover” can beset. As an initial value, “nil” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:backgroundImage” attribute information can beused in an “area element AREAEL, a “body element BODYEL,” a “div elementDVSNEL,” a “button element BUTNEL,” an “input element INPTEL,” or an“object element OBJTEL.” In “style:backgroundPositionHorizontal”attribute information, the horizontal position of a still image is set.As a value to be set as the “style:backgroundPositionHorizontal”attribute information, any one of “%,” “length,” “left,” “center,”“right,” and “takeover” can be set. As an initial value, “0%” can beset. There is no continuity of the contents of a value to be set as theattribute information. In the embodiment, the“style:backgroundPositionHorizontal” attribute information can be usedin an “area element AREAEL, a “body element BODYEL,” a “div elementDVSNEL,” a “button element BUTNEL,” an “input element INPTEL,” or an“object element OBJTEL.” In “style:backgroundPositionVertical” attributeinformation, the vertical position of a still image is set. As a valueto be set as the “style:backgroundPositionVertical” attributeinformation, any one of “%,” “length,” “left,” “center,” “right,” and“takeover” can be set. As an initial value, “0%” can be set. There is nocontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:backgroundPositionVertical”attribute information can be used in an “area element AREAEL, a “bodyelement BODYEL,” a “div element DVSNEL,” a “button element BUTNEL,” an“input element INPTEL,” or an “object element OBJTEL.” Instyle:backgroundRepeat” attribute information, a specific still image isrepeatedly pasted in a background area. As a value to be set as the“style:backgroundRepeat” attribute information, any one of “repeating,”“nonrepeating,” and “takeover” can be set. As an initial value,“nonrepeating” can be set. There is no continuity of the contents of avalue to be set as the attribute information. In the embodiment, the“style:backgroundRepeat” attribute information can be used in an “areaelement AREAEL, a “body element BODYEL,” a “div element DVSNEL,” a“button element BUTNEL,” an “input element INPTEL,” or an “objectelement OBJTEL.” In “style:blockProgressionDimension” attributeinformation, the distance between the front edge and back edge of asquare content area is set (or changed). As a value to be set as the“style:blockProgressionDimension” attribute information, any one of“automatic setting” “length,” “%,” and “takeover” can be set. As aninitial value, “automatic setting” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:blockProgressionDimension attribute informationcan be used in a “specified position element, a “button element BUTNEL,”an “object element OBJTEL”, or an “input element INPTEL.” In“style:border” attribute information, the width, style, and color at theedge border of each of front/back/start/end are set. As a value to beset as the “style:border” attribute information, any one of “width”“style,” “color,” and “takeover” can be set. As an initial value, “nil”can be set. There is no continuity of the contents of a value to be setas the attribute information. In the embodiment, the “style:border”attribute information can be used in a “block element.” In“style:borderAfter” attribute information, the width, style, and colorat the border of the back edge of a block area are set. As a value to beset as the “style;borderAfter” attribute information, any one of “width”“style,” “color,” and “takeover” can be set. As an initial value, “nil”can be set. There is no continuity of the contents of a value to be setas the attribute information. In the embodiment, the “style:borderAfter”attribute information can be used in a “block element.” In“style:borderBefore” attribute information, any one of the width, style,and color at the border of the front edge of a block area is set. As avalue to be set as the “style:borderBefore” attribute information, anyone of “width” “style,” “color,” and “takeover” can be set. As aninitial value, “nil” can be set. There is no continuity of the contentsof a value to be set as the attribute information. In the embodiment,the “style:borderBefore” attribute information can be used in a “blockelement.” In “style:borderEnd” attribute information, the width, style,and color at the border of the end edge of a block area are set. As avalue to be set as the “style:borderEnd” attribute information, any oneof “width” “style,” “color,” and “takeover” can be set. As an initialvalue, “nil” can be set. There is no continuity of the contents of avalue to be set as the attribute information. In the embodiment, the“style:borderEnd” attribute information can be used in a “blockelement.” In “style:borderStart” attribute information, the width,style, and color at the border of the start edge of a block area areset. As a value to be set as the “style:borderStart” attributeinformation, any one of “width” “style,” “color,” and “takeover” can beset. As an initial value, “nil” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:borderStart” attribute information can be used ina “block element.” In “style:breakAfter” attribute information, setting(or changing) is done so as to force a specific row to appearimmediately after the execution of the corresponding element. As a valueto be set as the “style:breakAfter” attribute information, any one of“automatic setting,” “specified row,” and “takeover” can be set. As aninitial value, “automatic setting” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style;breakAfter” attribute information can be used inan “inline element.” In “style:breakBefore” attribute information,setting (or changing) is done so as to force a specific row to appearimmediately before the execution of the corresponding element. As avalue to be set as the “style:breakbefore” attribute information, anyone of “automatic setting,” “specified row,” and “takeover” can be set.As an initial value, “automatic setting” can be set. There is nocontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:breakBefore” attributeinformation can be used in an “inline element.” In “style:color”attribute information, the color characteristic of content is set (orchanged). As a value to be set as the “style:color” attributeinformation, any one of “color” “transparency,” and “takeover” can beset. As an initial value, “white color” can be set. There is acontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:color” attribute informationcan be used in an “input element INPTEL,” a “p element PRGREL,” a “spanelement SPANEL,” or an “area element AREAEL.” In “style:contentWidth”attribute information, the width characteristic of content is set (orchanged). As a value to be set as the “style:contentWidth” attributeinformation, any one of “automatic setting,” “overall display,”“length,” “%,” and “takeover” can be set. As an initial value,“automatic setting” can be set. There is no continuity of the contentsof a value to be set as the attribute information. In the embodiment,the “style:contentWidth” attribute information can be used in an “areaelement AREAEL,” a “body element BODYEL,” a “div element DVSNEL,” a“button element BUTNEL,” an “input element INPTEL,” or an “objectelement OBJTEL.” In “style:contentHeight” attribute information, theheight characteristic of content is set (or changed). As a value to beset as the “style;contentHeight” attribute information, any one of“automatic setting,” “overall display,” “length,” “%,” and “takeover”can be set. As an initial value, “automatic setting” can be set. Thereis no continuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:contentHeight” attributeinformation can be used in an “area element AREAEL,” a “body elementBODYEL,” a “div element DVSNEL,” a “button element BUTNEL,” an “inputelement INPTEL,” or an “object element OBJTEL.”

In “style:crop” written following FIGS. 95A and 95B, the act of clipping(or trimming) into a square shape is set (or changed). As a value to beset as the “style:crop” attribute information, either “clippingdimension (positive value)” or “automatic setting” can be set. As aninitial value, “automatic setting” can be set. There is a continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:crop” attribute information can be used in an“area element AREAEL,” a “body element BODYEL,” a “div element DVSNEL,”a “button element BUTNEL,” an “input element INPTEL,” or an “objectelement OBJTEL.” In “style:direction” attribute information, a directioncharacteristic is set (or changed). As a value to be set as the“style:direction” attribute information, any one of “ltr” “rtl and“takeover” can be set. As an initial value, “ltr” can be set. There is acontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:direction” attributeinformation can be used in an “input element INPTEL,” a “p elementPRGREL,” or a “span element SPANEL.” In “style:display” attributeinformation, a display format (including block/inline) is set (orchanged). As a value to be set as the “style:display” attributeinformation, any one of “automatic setting” “nil,” and “takeover” can beset. As an initial value, “automatic setting” can be set. There is nocontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:display” attributeinformation can be used in a “content element.” In “style:displayAlign”attribute information, an aligned display method is set (or changed). Asa value to be set as the “style:displayAlign” attribute information, anyone of “automatic setting,” “left-aligned,” “centering,”“right-aligned,” and “takeover” can be set. As an initial value,“automatic setting” can be set. There is a continuity of the contents ofa value to be set as the attribute information. In the embodiment, the“style:displayAlign” attribute information can be used in a “blockelement.” In “style:endIndent” attribute information, the amount ofdisplacement between the edge positions set by the related elements isset (or changed). As a value to be set as the “style:endIndent”attribute information, any one of “length,” “%,” and “takeover” can beset. As an initial value, “0px” can be set. There is a continuity of thecontents of a value to be set as the attribute information. In theembodiment, the “style:endIndent” attribute information can be used in a“block element.” In “style:flip” attribute information, a movingcharacteristic of a background image is set (or changed). As a value tobe set as the “style:flip” attribute information, any one of “fixed,”“moving row by row,” “moving block by block,” and “moving in both” canbe set. As an initial value, “fixed” can be set. There is no continuityof the contents of a value to be set as the attribute information. Inthe embodiment, the “style:flip” attribute information can be used in a“position specifying element.” In “style:font” attribute information, afont characteristic is set (or changed). As a value to be set as the“style:font” attribute information, either “font name” or “takeover” canbe set. As an initial value, “nil” can be set. There is a continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:font” attribute information can be used in an“input element INPTEL,” a “p element PRGREL,” or a “span elementSPANEL.” In “style:fontSize” attribute information, a font sizecharacteristic is set (or changed). As a value to be set as the“style:fontSize” attribute information, any one of “size,” “%,” “40%,”“60%” “80%,” “90%,” “100%,” “110%,” “120%,” 140%,” “160%,” and“takeover” can be set. As an initial value, “100%” can be set. There isa continuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:fontSize” attributeinformation can be used in an “input element INPTEL,” a “p elementPRGREL,” or a “span element SPANEL.” In “style:fontStyle” attributeinformation, a font style characteristic is set (or changed). As a valueto be set as the “style:fontStyle” attribute information, any one of“standard,” “italic,” “others,” and “takeover” can be set. As an initialvalue, “standard” can be set. There is a continuity of the contents of avalue to be set as the attribute information. In the embodiment, the“style:fontStyle” attribute information can be used in an “input elementINPTEL,” a “p element PRGREL,” or a “span element SPANEL.” In“style:height” attribute information, a height characteristic is set (orchanged). As a value to be set as the “style:height” attributeinformation, any one of “automatic setting,” “height,” “%,” and“takeover” can be set. As an initial value, “automatic setting” can beset. There is no continuity of the contents of a value to be set as theattribute information. In the embodiment, the “style:height” attributeinformation can be used in a “position specifying element,” a “buttonelement BUTNEL,” an “object element OBJTEL,” or an “input elementINPTEL.” In “style: inlineProgressionDimension” attribute information,the spacing between the front edge and back edge of a content squarearea is set (or changed). As a value to be set as the“style:inlineProgressionDimension” attribute information, any one of“automatic setting,” “length,” “%,” and “takeover” can be set. As aninitial value, “automatic setting” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:inlineProgressionDimension” attribute informationcan be used in a “position specifying element,” a “button elementBUTNEL,” an “object element OBJTEL,” or an “input element INPTEL.” In“style:linefeedTreatment” attribute information, a line spacing processis set (or changed). As a value to be set as the“style:linefeedTreatment” attribute information, any one of “neglect,”“keeping,” “treating as a margin,” “treating as a margin width of 0,”and “takeover” can be set. As an initial value, “treating as a margin”can be set. There is a continuity of the contents of a value to be setas the attribute information. In the embodiment, the“style:linefeedTreatment” attribute information can be used in a “pelement PRGREL” or an “input element INPTEL.” In “style:lineHeight”attribute information, the characteristic of the height of one row (orline space) is set (or changed). As a value to be set as the“style:lineHeight” attribute information, any one of “automaticsetting,” “height,” “%,” and “takeover” can be set. As an initial value,“automatic setting” can be set. There is a continuity of the contents ofa value to be set as the attribute information. In the embodiment, the“style:lineHeight” attribute information can be used in a “p elementPRGREL” or an “input element INPTEL.” In “style:opacity” attributeinformation, the transparency of a specified mark to the backgroundcolor with which the mark overlaps is set (or changed). As a value to beset as the “style:opacity” attribute information, either “alpha value”or “takeover” can be set. As an initial value, “1.0” can be set. Thereis no continuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:opacity” attributeinformation can be used in a “content element.” In “style:padding”attribute information, the insertion of a margin area is set (orchanged). As a value to be set as the “style:padding” attributeinformation, any one of “front margin length,” “lower margin length,”“back margin length,” “upper margin length,” and “takeover” can be set.As an initial value, “0px” can be set. There is no continuity of thecontents of a value to be set as the attribute information. In theembodiment, the “style:padding” attribute information can be used in a“block element.” In “style:paddingAfter” attribute information, theinsertion of a back margin area is set (or changed). As a value to beset as the “style:paddingAfter” attribute information, either “backmargin length” or “takeover” can be set. As an initial value, “0px” canbe set. There is no continuity of the contents of a value to be set asthe attribute information. In the embodiment, the “style:paddingAfter”attribute information can be used in a “block element.” In“style:paddingBefore” attribute information, the insertion of a frontmargin area is set (or changed). As a value to be set as the“style:paddingBefore” attribute information, either “front marginlength” or “takeover” can be set. As an initial value, “0px” can be set.There is no continuity of the contents of a value to be set as theattribute information. In the embodiment, the “style:paddingBefore”attribute information can be used in a “block element.” In“style:paddingEnd” attribute information, the insertion of a lowermargin area is set (or changed). As a value to be set as the“style;paddingEnd” attribute information, either “lower margin length”or “takeover” can be set. As an initial value, “0px” can be set. Thereis no continuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:paddingEnd” attributeinformation can be used in a “block element.”

In “style:paddingStart” attribute information written following FIGS.95A, 95B, 96A, and 96B, the insertion of an upper margin area is set (orchanged). As a value to be set as the “style:paddingStart” attributeinformation, either “upper margin length” or “takeover” can be set. Asan initial value, “0px” can be set. There is no continuity of thecontents of a value to be set as the attribute information. In theembodiment, the “style:paddingStart” attribute information can be usedin a “block element.” In “style:position” attribute information, amethod of defining the starting point position of a specified area inthe corresponding element is set (or changed). As a value to be set asthe “style:position” attribute information, any one of “static value,”“relative value,” “absolute value,” and “takeover” can be set. As aninitial value, “static value” can be set. There is no continuity of thecontents of a value to be set as the attribute information. In theembodiment, the “style:position” attribute information can be used in a“position specifying element.” In “style:scaling” attribute information,whether an image complying with the corresponding element keeps aspecified aspect ratio or not is set (or changed). As a value to be setas the “style:scaling” attribute information, any one of “aspect ratiocompatible,” “aspect ratio incompatible,” and “takeover” can be set. Asan initial value, “aspect ratio incompatible” can be set. There is nocontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:scaling” attributeinformation can be used in an “area element AREAEL,” a “body elementBODYEL,” a “div element DVSNEL,” a “button element BUTNEL,” an “inputelement,” or an “object element OBJTEL.” In “style:startIndex” attributeinformation, the distance between the starting point positions of thecorresponding square area and the adjacent square area is set (orchanged). As a value to be set as the “style:startIndex” attributeinformation, any one of “length,” “%,” and “takeover” can be set. As aninitial value, “0px” can be set. There is a continuity of the contentsof a value to be set as the attribute information. In the embodiment,the “style:startIndex” attribute information can be used in a “blockelement.” In “style:suppressAtLineBreak” attribute information, whetherto “decrease or “keep as-is” the character spacing in the same line isset (or changed). As a value to be set as the“style:suppressAtLineBreak” attribute information, any one of “automaticsetting,” “deceasing,” “keeping as-is,” and “takeover” can be set. As aninitial value, “automatic setting” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:suppressAtLineBfreak” attribute information canbe used in an “inline element including only PC data content.” In“style:textAlign” attribute information, a location in a row in a textarea is set (or changed). As a value to be set as the “style:textAlilgn”attribute information, any one of “left-aligned,” “centering,”“right-aligned,” and “takeover” can be set. As an initial value,“left-aligned” can be set. There is a continuity of the contents of avalue to be set as the attribute information. In the embodiment, the“style:textAlign” attribute information can be used in a “p elementPRGREL” or an “input element INPTEL.” In “style:textAltitude” attributeinformation, the height of a text area in a row is set (or changed). Asa value to be set as the “style:textAltitude” attribute information, anyone of “automatic setting,” “height,” “%,” and “takeover” can be set. Asan initial value, “automatic setting” can be set. There is no continuityof the contents of a value to be set as the attribute information. Inthe embodiment, the “style:textAltitude” attribute information can beused in a “p element PRGREL,” an “input element INPTEL,” or a “spanelement SPANEL.” In “style:textDepth” attribute information, a depth oftext information displayed in a raised manner is set (or changed). As avalue to be set as the “style:textDepth” attribute information, any oneof “automatic setting,” “length,” “%,” and “takeover” can be set. As aninitial value, “automatic setting” can be set. There is no continuity ofthe contents of a value to be set as the attribute information. In theembodiment, the “style:textDepth” attribute information can be used in a“p element PRGREL,” an “input element INPTEL,” or a “span elementSPANEL.” In “style:textIndent” attribute information, the amount of bendof the entire text character string displayed in a line is set (orchanged). As a value to be set as the “style:textIndent” attributeinformation, any one of “length,” “%,” and “takeover” can be set. As aninitial value, “0px” can be set. There is a continuity of the contentsof a value to be set as the attribute information. In the embodiment,the “style:textIndent” attribute information can be used in a “p elementPRGREL” or an “input element INPTEL.” In “style:visibility” attributeinformation, a method of displaying a background to a foreground (or thetransparency of a foreground) is set (or changed). As a value to be setas the “style:visibility” attribute information, any one of “displayingthe background,” “hiding the background,” and “takeover” can be set. Asan initial value, “displaying the background” can be set. There is acontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:visibility” attributeinformation can be used in a “content element.” In“style:whiteSpaceCollapse” attribute information, a white spacesqueezing process is set (or changed). As a value to be set as the“style:whiteSpaceCollapse” attribute information, any one of “no whitespace squeezing,” “white space squeezing,” and “takeover” can be set. Asan initial value, “white space squeezing” can be set. There is acontinuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:whiteSpaceCollapse” attributeinformation can be used in an “input element INPTEL” or a “p elementPRGREL.” In “style:whiteSpaceTreatment” attribute information, whitespace processing is set (or changed). As a value to be set as the“style:whiteSpaceTreatment” attribute information, any one of“ignoring,” “maintaining the white space,” “ignoring the front whitespace,” “ignoring the back white space,” “ignoring the peripheral whitespace, and “takeover” can be set. As an initial value, “ignoring theperipheral white space” can be set. There is a continuity of thecontents of a value to be set as the attribute information. In theembodiment, the “style:whiteSpaceTreatment” attribute information can beused in an “input element INPTEL” or a “p element PRGREL.” In“style:width” attribute information, the width of a square area is set(or changed). As a value to be set as the “style:width” attributeinformation, any one of “automatic setting,” “width,” “%,” and“takeover” can be set. As an initial value, “initial setting” can beset. There is no continuity of the contents of a value to be set as theattribute information. In the embodiment, the “style:width” attributeinformation can be used in an “position specifying element,” a “buttonelement BUNTNEL,” an “object element OBJTEL,” or an “input elementINPTEL.” In “style:wrapOption” attribute information, whether to skipone row in front of and behind a specified row by automatic setting isset (or changed). As a value to be set as the “style:wrapOption”attribute information, any one of “continuing,” “skipping one row,” and“takeover” can be set. As an initial value, “skipping one row” can beset. There is a continuity of the contents of a value to be set as theattribute information. In the embodiment, the “style:wrapOption”attribute information can be used in an “input element INPTEL,” a “pelement PRGREL,” or a “span element SPANEL.” In “style:writingMode”attribute information, a direction in which characters are written in ablock or a row is set (or changed). As a value to be set as the“style:writingMode” attribute information, any one of “lr-tb,” “rl-tb,”“tb-rl,” and “takeover” can be set. As an initial value, “lr-tb,” can beset. There is a continuity of the contents of a value to be set as theattribute information. In the embodiment, the “style:writingMode”attribute information can be used in a “div element DVSNEL” or an “inputelement INPTEL.” In “style:x” attribute information, an x-coordinatevalue of the starting point position of a square area is set (orchanged). As a value to be set as the “style:x” attribute information,any one of “coordinate value,” “%,” “automatic setting,” and “takeover”can be set. As an initial value, “automatic setting” can be set. Thereis no continuity of the contents of a value to be set as the attributeinformation. In the embodiment, the “style:x” attribute information canbe used in a “position specifying element.” In “style:y” attributeinformation, a y-coordinate value of the starting point position of asquare area is set (or changed). As a value to be set as the “style:y”attribute information, any one of “coordinate value,” “%,” “automaticsetting,” and “takeover” can be set. As an initial value, “automaticsetting” can be set. There is no continuity of the contents of a valueto be set as the attribute information. In the embodiment, the “style:y”attribute information can be used in a “position specifying element.” In“style:zIndex” attribute information, a z index (an anteroposteriorrelationship in a stacked representation) of a specified area is set (orchanged). As a value to be set as the “style:zIndex” attributeinformation, any one of “automatic setting,” “z index (positive) value,”and “takeover” can be set. As an initial value, “automatic setting” canbe set. There is no continuity of the contents of a value to be set asthe attribute information. In the embodiment, the “style;zIndex”attribute information can be used in a “position specifying element.”

As shown in FIG. 91(a), there is a head element HEADEL in the rootelement ROOTEL. Then, there are a timing element TIMGEL and a stylingelement STNGEL in the head element HEADEL. As shown in FIG. 91(c), inthe timing element TIMGEL, various elements belonging to the timingvocabulary TIMVOC are written, thereby constituting a time sheet. Asshown in FIG. 91(d), in the styling element STNGEL existing in the headelement HEADEL, various elements belonging to the style vocabularySTLVOC are written, thereby constituting a style sheet. In the markupMRKUP descriptive sentence of the embodiment, a body element BODYELexists in a position different from the head element HEADEL (or behindthe head element). As shown in FIG. 91(b), in the body element BODYEL,each element (or content element) belonging to the content vocabulary isincluded. In the embodiment, various types of attribute informationdefined in a state name space shown in FIG. 98 can be written in eachelement (or content element) belonging to the content vocabulary CNTVOC.As shown in FIG. 90(c), there is a place in which “optional attributeinformation OPATRI” can be written in the basic data structure in anelement (xml descriptive sentence). In FIG. 90(d), an arbitrary piece ofattribute information STNSAT defined in the style name space can be usedin the “optional attribute information OPATRI,” whereas various types ofattribute information defined in the state name space can be used in the“optional attribute information OPATRI.”

<General>

Content elements expose their interaction state as attributes in thestate namespace.

The styling and timesheet can use these values in pathExpressions, tocontrol the look of the element and as event triggers.

The author can set the initial values of these properties throughattributes, the presentation engine however changes these values basedon user interaction, therefore for the following attributes state:foreground, state: pointer, state: actioned setting the value in markupusing <animate>or <set>or script (using the animatedElement API) has noeffect. For the attributes state: focused, state: enabled and state:value, the value may be set in markup or script and this value willoverride the value which would otherwise be set by the presentationengine.

Each element maintains a set of states. The following table summarizesthe interactive states and shows their applicability to the elementgroups.

As described above, various types of attribute information written inFIG. 98 can be written optionally in the descriptive area of “optionalattribute information OPATRI” in each type of element (or contentelement) in the content vocabulary CNTVOC written in the body elementBODYEL. Each type of attribute information written in FIG. 98 is definedin the state name space.

A method of using attribute information defined in the state name spaceof FIG. 98 from a time sheet written in the timing element TIMGEL and astyle sheet written in the styling element STNGEL in the head elementHEADEL of FIG. 91(a) will be explained below. In various elementsbelonging to the timing vocabulary TIMVOC of FIG. 91(c) or in variouselements belonging to the style vocabulary STLVOC of FIG. 91(d),“pathExpressions” (information for specifying a specific element writtenin the body element BODYEL shown in FIG. 91(a)) can be written as avalue set as “required attribute information RQATRI” or as optionalattribute information OPATRI” shown in FIG. 90(c). Using“pathExpressions,” various elements (or content elements) included inthe content vocabulary CNTVOC are specified, which makes it possible touse the contents of the attribute information written in FIG. 98 fromthe time sheet or style sheet.

The content creator (or content provider) can set the value of theattribute information in the markup page MRKUP. Various setting valuesset in “state;focused,” “state:enabled,” and “state:value” can be set inthe markup MRKUP or script SCRPT. Each type of element (or contentelement) in the content vocabulary CNTVOC shown in FIG. 91(b) continuesholding the state set determined in each type of attribute informationspecified in FIG. 98. As shown in FIG. 1, in the embodiment, theinformation recording and reproducing apparatus 1 includes an advancedcontent playback section ADVPL. As shown in FIG. 14, the advancedcontent playback section ADVPL houses a presentation engine PRSEN on astandard scale. On the basis of a user interaction (or userspecification), the presentation engine PRSEN (particularly, theadvanced application presentation engine AAPEN or the advanced subtitleplayer ASBPL shown in FIG. 30) can change the setting value of each typeof attribute information shown in FIG. 98. As for the values of“state:focused,” “state:enabled,” and “state:value” set in the markupMRKUP or script SCRPT, the setting values can be changed by thepresentation engine PRSEN (particularly, the advanced applicationpresentation engine AAPEN or advanced subtitle player ASBPL).

Hereinafter, the contents of various types of attribute informationdefined in the state name space shown in FIG. 98 will be explained. InFIG. 98, “state:foreground” usable in the body element BODYEL describesthat the screen specified by an element is arranged in the foreground.As a setting value of the “state:foreground” attribute information,either “true” or “false” is set. If the description of the attributeinformation is omitted, “false” is specified as a default value. In the“state:foreground,” the setting value cannot be changed by thepresentation engine PRSEN (particularly by the advanced applicationpresentation engine AAPEN or advanced subtitle player ASBPL shown inFIG. 30). Next, “state:enabled” usable in elements (br elements BREKELand object elements OBJTEL) classified as a “display” class in FIG.91(b) indicates whether the target element can be executed. As a settingvalue of the “state:enabled” attribute information, either “true” or“false” is set. If the description of the attribute information isomitted, “true” is specified as a default value. In the “state:enabled,”the setting value can be changed by the presentation engine PRSEN(particularly by the advanced application presentation engine AAPEN oradvanced subtitle player ASBPL shown in FIG. 30). “state:focused”indicates that the target element is in the user input (or userspecifying) state. As a setting value of the “state:focused” attributeinformation, either “true” or “false” is set. If the description of theattribute information is omitted, “false” is specified as a defaultvalue. In the “state:focused” the setting value can be changed by thepresentation engine PRSEN (particularly by the advanced applicationpresentation engine AAPEN or advanced subtitle player ASBPL shown inFIG. 30). Moreover, “state:actioned” indicates that the target elementis executing a process. As a setting value of the “state:actioned”attribute information, either “true” or “false” is set. If thedescription of the attribute information is omitted, “false” isspecified as a default value. When the setting value of the attributeinformation is changed by another method using the presentation enginePRSEN of FIG. 14 (particularly by the advanced application presentationengine AAPEN or advanced subtitle player ASBPL shown in FIG. 30), thesetting value of the “state:actioned” can be changed by the presentationengine PRSEN (particularly by the advanced application presentationengine AAPEN or advanced subtitle player ASBPL shown in FIG. 30). Next,“state:pointer” indicates whether the cursor position is within oroutside an element specifying position. As a setting value of the“state:pointer” attribute information, either “true” or “false” is set.If the description of the attribute information is omitted, “false” isspecified as a default value. In the “state:pointer,” the setting valuecannot be changed by the presentation engine PRSEN (particularly by theadvanced application presentation engine AAPEN or advanced subtitleplayer ASBPL shown in FIG. 30). Finally, “state:value” usable inelements (area elements AREAEL, button elements BUTNEL, and inputelements INPTEL) classified as the “state” class in FIG. 91(b) sets avariable value in the target element. As a setting value of the“state:value” attribute information, “variable value” is set. If thedescription of the attribute information is omitted, “variable value” isspecified as a default value. In the “state:value,” the setting valuecan be changed by the presentation engine PRSEN (particularly by theadvanced application presentation engine AAPEN or advanced subtitleplayer ASBPL shown in FIG. 30).

In the embodiment, as shown in FIG. 90(c), required attributeinformation RQATRI, optional attribute information OPATRI, and contentinformation CONTNT can be arranged in an element (xml descriptivesentence). The contents of the required attribute information RQATRI oroptional attribute information OPATRI are written in FIG. 93, FIGS. 95Ato 97B, FIG. 98, and FIG. 94. As the contents of the content informationCONTNT, various elements belonging various vocabularies and PC datashown in FIG. 91(b) to FIG. 91(d) can be written. As shown in FIG.91(a), in a markup MRKUP descriptive sentence, various elementsbelonging to the content vocabulary CNTVOC of FIG. 91 can be arranged inthe body element BODYEL in the root element ROOTEL. FIG. 99 shows thecontents of required attribute information RQATRI, optional attributeinformation OPATRI, and content information CONTNT settable in variouselements (or content elements) belonging to the content vocabularyCNTVOC of FIG. 91(b).

In an area element AREAEL, “accesskey” attribute information has to bewritten as required attribute information RQATRI. Writing the“accesskey” attribute information in the area element AREAEL makes itpossible to establish, via the “accesskey” attribute information, therelationship (or link condition) with another element in which the valueof the same “accesskey” attribute information has been written. As aresult, a method of using an area on the screen specified by the areaelement AREAEL can be set using another element. As seen from the row of“accesskey” attribute information of FIG. 99, the “accesskey” attributeinformation has to be written not only in the area element AREAEL butalso in a button element BUTNEL for setting a user input button (seeFIG. 91(b)) and an input element INPTEL for setting a text box the usercan input (see FIG. 91(b)) in the embodiment. This makes it possible torealize advanced processes, including the process of “setting an areaset as a button on the markup screen MRKUP in atransition-to-active-state specifying area (or the linkage processbetween an area element AREAEL and a button element BUTNEL) and theprocess of “setting an area the user can input as a text box in atransition-to-active-state specifying area (or the linkage processbetween an area element AREAEL and an input element INPTEL), whichimproves the convenience of the user remarkably. In the area elementAREAEL, not only can various types of attribute information, such as“coords,” “shape,” “class,” or “id,” be written as optional attributeinformation OPATRI, but also arbitrary attribute information in thestyle name space and arbitrary attribute information can be arranged.Arbitrary attribute information in the style name space means arbitraryattribute information defined as an option in the style name space shownin FIGS. 95A to 97B.

In the body element BODYEL, not only can various types of attributeinformation, such as “begin,” “class,” “id,” “dur,” “end,”“timeContainer,” “xml:lang,” or “xml:space,” be written as optionalattribute information OPATRI, but also arbitrary attribute informationin the style name space and arbitrary attribute information can bearranged. Moreover, as content information CONTNT directly written inthe body element BODYEL, a “div element DVSNEL,” an “include elementINCLEL,” a “meta element METAEL,” or or an “object element OBJTEL” canbe arranged. In addition to this, the element may be used as a parentelement and another type of a child element may be placed in the parentelement. In the embodiment, a div element DVSNEL for setting divisionsfor classifying elements belonging to the same block type into blocks isplaced in the body element BODYEL (see FIG. 91(b)), which makes it easyto construct a hierarchical structure in an element description (such ageneration hierarchy as parent element/child element/grandchildelement). As a result, the embodiment makes it easy not only to look atwhat has been written in the markup MRKUP but also to create and edit anew descriptive sentence in the markup MRKUP.

In a br element BREKEL next to the body element, there is no requiredattribute information RQATRI. In the br element, not only can varioustypes of attribute information, such as “class,” ““id,” “xml:lang,” or“xml:space” be written as optional attribute information OPATRI, butalso arbitrary attribute information can be arranged.

In a button element BUTNEL, “accesskey” attribute information has to bewritten as required attribute information RQATRI. Via “accesskey”attribute information in which the same value has been written asdescribed above, the contents set in the button element BUNTNEL can berelated to the contents set in the area element AREAEL, which improvesthe power of expression for the user in the markup page MRKUP. Inaddition to this, it is possible to fulfill the linkage function betweenvarious functions set in an input element INPTEL or the like via the“accesskey” attribute information in which the same value has beenwritten. In the button element BUTNEL, not only can various types ofattribute information, such as “class,” “id,” “xml:lang,” or“xml:space,” be written as optional attribute information OPATRI, butalso arbitrary attribute information in the style name space andarbitrary attribute information can be arranged. Moreover, as contentinformation CONTNT in the button element BUTNEL, a “meta elementMETAEL,” and a “p element PRGREL” can be arranged. Placing in the buttonelement BUTNEL a p element PRGREL (see FIG. 91(b)) for setting thetiming of displaying paragraph blocks (text extending over a pluralityof rows) and the display format enables text information (describing thecontents of the button) to be displayed on the button shown to the user,which provides the user with an easier-to-understand representation. Inaddition, placing a meta element METAEL (see FIG. 91(b)) for setting (acombination of) elements representing the contents of an advancedapplication in the button element BUTNEL makes it easy to relate thebutton shown to the user to the advanced application ADAPL.

Furthermore, in the div element DVSNEL, not only can various types ofattribute information, such as “begin,” “class,” “id,” “dur,” “end,”“timeContainer,” “xml:lang,” or “xml:space,” be written as optionalattribute information OPATRI, but also arbitrary attribute informationin the style name space and arbitrary attribute information can bearranged. Moreover, as content information CONTNT in the div elementDVSNEL, a “button element BUINEL,” a “div element DVSNEL,” an “inputelement INPTEL,” a “meta element METABL,” an “object element OBJTEL,”and a “p element PRGREL” can be arranged. This makes it possible tocombine a “button element BUTNEL,” a “div element DVSNEL,” an “inputelement INPTEL,” a “meta element METAEL,” an “object element OBJTEL,”and a “p element PRGREL” to set a block, which makes it easy not only tolook at what has been written in the markup MRKUP but also to create andedit a new descriptive sentence in the markup MRKUP. In the embodiment,another div element DVSNEL can be placed as a “child element” in the divelemant DVSNEL, enabling the levels of hierarchy in block classificationto be made multilayered, which makes it easier not only to look at whathas been written in the markup MRKUP but also to create and edit a newdescriptive sentence in the markup MRKUP.

In the head element HEADEL, there is no required attribute informationRQATRI. In the head element HEADEL, not only can various types ofattribute information, such as “id,” “xml:lang,” or “xml:space” bewritten as optional attribute information OPATRI, but also arbitraryattribute information can be arranged. Moreover, as content informationCONTNT in the head element HEADEL, an “include element INCLEL,” a “metaelement METAEL,” a “timing element TIMGEL,” and a “styling element” canbe arranged. In the embodiment, as shown in FIG. 91(a), placing a“timing element TIMGEL” in the head element HEADEL to configure a timesheet enables timing shared in the markup page MRKUP to be set. Placinga “styling element STNGEL” to configure a style sheet enables arepresentation format shared in the markup page MRKUP to be set.Separating the functions that way makes it easy to create and edit a newmarkup page MRKUP.

In an include element INCLEL explained below, “condition” attributeinformation has to be written as required attribute information RQATRI.This makes it possible to define use conditions in an include elementINCLEL (see FIG. 93), clarifying a method of specifying a document to bereferred to (see FIG. 91(b)), which makes easy a method of displaying amarkup screen about what has been written in the markup descriptivesentence. In the include element INCLEL, not only can various types ofattribute information, such as “id” or “href,” be written as optionalattribute information OPATRI, but also arbitrary attribute informationcan be arranged.

In the input element INPTEL, “accesskey” attribute information and“model” attribute information have to be written as required attributeinformation RQATRI. As described above, via “accesskey” attributeinformation in which the same value has been written, it is possible tofulfill the linkage function between various functions set in an areaelement AREAEL, a button element BUTNEL, or the like. In the inputelement INPTEL, not only can various types of attribute information,such as “class,” “id,” “xml:lang,” or “xml:space,” be written asoptional attribute information OPATRI, but also arbitrary attributeinformation in the style name space and arbitrary attribute informationcan be arranged. Moreover, as content information CONTNT in the inputelement INPTEL, a “meta element METAEL,” and a “p element PRGREL” can bearranged. Placing a p element PRGREL (see FIG. 91(b)) for setting thetiming of displaying paragraph blocks (text extending over a pluralityof rows) and the display format in the input element INPTEL (see FIG.91(b)) for setting a text box the user can input makes it possible toset the display timing of the text box itself the user can input and thedisplay format. This enables the text box the user can input to becontrolled minutely, which improves user-friendliness more.

In the meta element METAEL, there is no required attribute informationRQATRI. In the meta element METAEL, not only can various types ofattribute information, such as “id,” “xml:lang,” or “xml:space,” bewritten as optional attribute information OPATRI, but also arbitraryattribute information can be arranged. Moreover, as content informationCONTNT in the meta element METAEL, an arbitrary element in the rangefrom an “area element AREAEL” to a “style element STYLEL” can bearranged as shown in FIG. 99.

In the object element OBJTEL next to the meta element, “type” attributeinformation has to be written as required attribute information RQATRI.In the object element OBJTEL, not only can various types of attributeinformation, such as “class,” “id,” “xml:lang,” “xml:space,” “src,” or“content,” be written as optional attribute information OPATRI, but alsoarbitrary attribute information in the style name space and arbitraryattribute information can be arranged. Moreover, as content informationCONTNT in the object element OBJTEL, an “area element AREAEL,” a “metaelement,” a “p element PRGREL,” and a “param element PRMTEL” can bearranged. A param element PRMTEL capable of setting parameters is placedin the object element OBJTEL, which makes it possible to set fineparameters for various objects to be pasted on the markup page MRKUP (orto be linked with the markup page MRKUP). This makes it possible to setconditions for fine objects and further paste and link a wide variety ofobject files, which improves the power of expression to the userremarkably. Moreover, placing a p element PRGREL (see FIG. 91(b)) forsetting the timing of displaying paragraph blocks (or text extendingover a plurality of rows) and the display format and a param elementPRMTEL (see 91(b)) for setting the timing of displaying one row of text(in a block) and the display format in the object element OBJTEL makesit possible to specify a font file FONT used in displaying the text datawritten as PC data in the p element PRGREL or param element PRMTEL onthe basis of src attribute information in the object element OBJTEL (seeFIG. 92(f) or FIG. 102B(e)). This makes it possible to give a textrepresentation in the markup page MRKUP in an arbitrary font format,which improves the power of expression to the user remarkably. In theembodiment, as shown in FIG. 12, a still image file IMAGE, an effectaudio FETAD, and a font file FONT can be referred to from the markupMRKUP. When the still image file IMAGE, effect audio EFTAD, or font fileFONT is referred to from the markup MRKUP, the object element OBJTEL isused. Specifically, URI (uniform resource identifier) can be written asthe value of src attribute information in the object element OBJTEL.Using the URI, the storage location (path) or file name of a still imagefile IMAGE, effect audio FETAD, or font file FONT is specified, whichmakes it possible to set the pasting or linking of various files into orwith the markup MRKUP.

Furthermore, in the p element PRGREL, not only can various types ofattribute information, such as “begin,” “class,” “id,” “dur,” “end,”“timeContainer,” “xml:lang,” or “xml:space,” be written as optionalattribute information OPATRI, but also arbitrary attribute informationin the style name space and arbitrary attribute information can bearranged. Moreover, as content information CONTNT in the p elementPRGREL, a “br element BREKEL,” a “button element BUTNEL,” an “inputelement INPTEL,” a “meta element METAEL,” an “object element OBJTEL,”and a “span element SPANEL” can be arranged. Placing a button elementBUTNEL and an object element OBJTEL in the p element PRGREL (see FIG.91(b)) capable of setting the display timing and display format of textextending over a plurality of rows enables text information to bedisplayed so as to overlap with the button or still image IMAGEdisplayed on the markup page MRKUP, which provides the user with aneasier-to-understand representation. Placing a span element SPANEL (seeFIG. 91(b)) capable of setting the timing of displaying text row by rowin the p element PRGREL (see FIG. 91(b)) capable of setting the displaytiming and display format of text extending over a plurality of rowsmakes it possible to set minutely the timing of displaying text row byrow and the display format in text extending over a plurality of rows.This makes it possible to perform fine display control of display textsynchronizing with the time progress of the moving image and sound (suchas a primary video set PRMVS or a secondary video set SCDVS) reproducedand displayed simultaneously as “a part (the color or highlighted part)of the words of the song in karaoke is changed to accompaniment,” whichimproves the power of expression and the convenience of the userremarkably. Moreover, in the p element PRGREL, “PC data” can be arrangedas content information CONTNT. Placing, for example, text data as PCdata in the p element PRGREL makes it possible not only to display textdata to be displayed in the markup page MRKUP in the optimum displayformat with the best timing, but also to display subtitles or tickers insynchronization with video information (or a primary video set PRMVS ora secondary video set SCDVS) as shown in FIGS. 92(f) or FIG. 102B(e).

In the param element PRMTEL, “name” attribute information has to bewritten as required attribute information RQATRI. The “name” attributeinformation is used to specify “variable name” defined in the pramelement PRMTEL. Since an arbitrary name can be used as the “variablename” in the embodiment, a large number of variables (or variable names)can be set at the same time, which enables complex control in the markupMRKUP. In the param element PRMTEL, not only can various types ofattribute information, such as “id,” “xml:lang,” or “value,” be writtenas optional attribute information OPATRI, but also arbitrary attributeinformation can be arranged. In the embodiment, “variable value” inputto “variable name” set by the “name” attribute information using the“value” attribute information can be set. In the embodiment, the paramelement PRMTEL is set in the event element EVNTEL and a combination of“name” attribute information and “value” attribute information iswritten in the param element PRMTEL, which enables the occurrence of anevent to be defined in the markup MRKUP. Moreover, the values of the“name” attribute information and “value” attribute information are usedin an API command (or function) defined in the script SCRIPT. In theparam element PRMTEL, “PC data” can be placed as content informationCONTNT, which makes it possible to set complex parameters using PC data.

Furthermore, in the root element ROOTEL, there is no required attributeinformation RQATRI. In the root element ROOTEL, various types ofattribute information, such as “id,” “xml:lang,” or “xml:space,” can bewritten as optional attribute information OPATRI. Moreover, in the rootelement ROOTEL, a “body element BODEL” and a “head element HEADEL” canbe arranged as content information CONTNT. As shown in FIG. 91(a),arranging a “body element BODEL” and a “head element HEADEL” in the rootelement ROOTEL makes it possible to separate the written part of thebody content from that of the head content, which makes it easy toreproduce and display the markup MRKUP. In the embodiment, as shown inFIG. 91(a), not only is a timing element TIMGEL placed in the headelement HEADEL to configure a time sheet, thereby managing the timing ofthe descriptive content of the body element BODYEL, but also a stylingelement STNGEL is placed in the head element HEADEL to configure a stylesheet, thereby managing the display format of the descriptive content ofthe body element BODYEL, which improves the convenience of creating orediting a new markup MRKUP as shown in FIGS. 101A and 101B.

In a span element SPANEL written at the end, not only can various typesof attribute information, such as “begin,” “class,” “aid,” “dur,” “end,”“timeContainer,” “xml:lang,” or “xml:space,” be written as optionalattribute information OPATRI, but also arbitrary attribute informationin the style name space and arbitrary attribute information can bearranged. Moreover, as content information CONTNT in the span elementSPANEL, a “br element BREKEL,” a “button element BUTNEL,” an “inputelement INPTEL,” a “meta element METAEL,” an “object element OBJTEL,”and a “span element SPANEL” can be arranged. Placing a button elementBUTNEL and an object element OBJTEL in the span element SPANEL (see FIG.91(b)) in which the display timing and display format of a row of textcan be set enables text information to be displayed so as to overlapwith the button or still image IMAGE displayed on the markup page MRKUP,which provides the user with an easier-to-understand representation.Moreover, in the span element SPANEL, “PC data” can be arranged ascontent information CONTNT. Placing, for example, text data as PC datain the span element SPANEL makes it possible not only to display a rowof text data to be displayed in the markup page MRKUP, but also todisplay subtitles or tickers in synchronization with video information(or a primary video set PRMVS or a secondary video set SCDVS) as shownin FIGS. 92(f) or FIG. 102B(e).

As shown in FIG. 99, arbitrary attribute information defined in thestyle name space of FIGS. 95A and 95B can be set as optional attributeinformation OPATRI, such as an “area element AREAEL,” a “body elementBODYEL,” a “button element BUTNEL,” a “div element DVSNEL,” an “inputelement INPTEL,” an “object element OBJTEL,” a “p element PRGREL,” or a“span element SPANEL.” As seen from FIGS. 95A and 95B, since the displayformat can be set on the basis of attribute information defined in thestyle name space in a wide variety of markup pages MRKUP, the displayformats of the various elements can be set variedly. Moreover, as shownin FIG. 99, in all the content elements excluding the root elementROOTEL, “arbitrary attribute information” can be set as optionalattribute information OPATRI. The “arbitrary attribute information”means not only the attribute information written in FIGS. 95A and 95Bbut also any one of the pieces of attribute information written in FIGS.93, 94, and 98. This makes it possible to set various conditions,including timing setting and display format setting in all the contentelements excluding the root element ROOTEL, which improves the power ofexpression and various setting functions in the markup page MRKUPremarkably.

In the embodiment, as shown in FIG. 90(c), in an element (xmldescriptive sentence), required attribute information RQATRI, optionalattribute information OPATRI, and content information CONTNT can be set.In each of the required attribute information RQATRI and optionalattribute information OPATRI, any one of the various types of attributeinformation shown in FIG. 93, FIGS. 95A to 97B, FIG. 89, or FIG. 94 canbe written (or placed). In the content information CONTNT, variouselements shown in FIGS. 91(b) to 91(d) can be arranged. As shown in FIG.91(a), in the head element HEADEL in the root element ROOTEL, a timingelement TIMGEL can be placed. In the timing element TIMGEL, variouselements (see FIG. 91(c)) belonging to the timing vocabulary TIMVOC canbe written. FIG. 100 shows required attribute information RQATRI,optional attribute information OPATRI, and content information CONTNTwhich can be set in various elements belonging to the timing vocabularyTIMVOC.

In an animate element ANIMEL, “additive” attribute information and“calcMode” attribute information have to be written as requiredattribute information RQATRI. Moreover, in the animate element ANIMEL,“id” attribute information can be written as optional attributeinformation OPATRI. Furthermore, in the animate element ANIMEL,“arbitrary attribute information” and “arbitrary attribute informationin the content, style, and state name space can be written. The animateelement ANIMEL is an element used in setting the display of animation.When the animation is set, it is necessary to set the style (or displayformat) shown to the user and further set the state of animation.Therefore, in the animate element ANIMEL, arbitrary attributeinformation in the content, style, and state name space is madesettable, enabling a wide range of expression forms for the animationset in the animate element ANIMEL to be specified, which improves thepower of expression to the user.

In the cue element CUEELE, “begin” attribute information and “select”attribute information have to be written as required attributeinformation RQATRI. In the embodiment, the cue element CUEELE is anelement used to select a specific content element and set the timing andchange the condition. Therefore, as shown in FIGS. 101A and 101B, aspecific content element can be specified using “select” attributeinformation. The embodiment is characterized in that the cue elementCUEELE enables specification start timing to be set in a specificcontent element by using “begin” attribute information as requiredattribute information RQATRI set in the cue element CUEELE. When “timeinformation” is set as the value set in the “begin” attributeinformation, a dynamic change of the markup page MRKUP can berepresented according to the passage of time. When “pass information” isset as the value set in the “begin” attribute information, “thespecification of a specific content element” and “the specification ofstate” of the content element can be performed at the same time. As aresult, for example, since a case where the user selects a specificbutton set on the markup page MRKUP (or when the button element BUTNELis “in the middle of processing”) can be used in setting thespecification start timing of a specific content element, which improvesthe user interface function of the markup page MRKUP remarkably. In thecue element CUEELE, “id” attribute information,” “dur” attributeinformation, “end” attribute information, “fill” attribute information,and “use” attribute information can be written as optional attributeinformation OPATRI. Moreover, in the cure element CUEELE, “arbitraryattribute information” can be written. Moreover, in the cue elementCUEELE, an “animate element ANIMEL,” an “event element EVNTEL,” a “linkelement LINKEL,” and a “set element SETELE” can be arranged as contentinformation CONTNT. When an “animate element ANIMEL” is set as contentinformation CONTNT, animation display can be set in the content elementspecified by the cue element CUEELE. When an “event element EVNTEL” isset as content information CONTNT, an event can be generated on thebasis of a change in the state of the content element specified by thecue element CUEELE. When a “link element LINKEL” is set as contentinformation CONTNT, hyperlinks can be set in the content elementspecified by the cue element CUEELE. When a set element SETELE is set ascontent information CONTNT in the cue element CUEELE, detailed attributeconditions and characteristic conditions can be set in the contentelement set in the cue element CUEELE. As described above, placing thevarious elements shown in FIG. 100 in the content information CONTNT inthe cue element CUEELE makes it possible to set a wide variety offunctions in the content element put in the body element BODYEL.

Furthermore, in the event element EVNTEL, “name” attribute informationhas to be written as required attribute information RQATRI. Setting“name EVNTNM corresponding to an event to which an arbitrary name can begiven” as the value of the “name” attribute information makes itpossible to set an arbitrarily namable event corresponding to an event.Since information on the “name EVNTNM corresponding to an event to whichan arbitrary name can be given” is used in the event listener EVTLSN inthe script SCRPT, the “name EVNTNM corresponding to an event to which anarbitrary name can be given” is an important value to secure therelationship with the script SCRPT. Moreover, in the event elementEVNTEL, “id” attribute information can be written as optional attributeinformation OPATRI. Furthermore, in the event element EVNTEL, “arbitraryattribute information” can be written. In addition, a “parm elementPRMTEL” can be arranged as content information CONTNT in the eventelement EVNTEL. Placing a param element PRMTEL in the event elementEVNTEL makes it easier to set conditions in the script SCRPT.Specifically, the value of “name” attribute information and “value”attribute information used in the param element PRMTEL are used in an“API command function descriptive sentence APIFNC” in the script SCRIPT.

In the def element DEFSEL, there is no required attribute informationRQATRI. In the def element DEFSEL, “id” attribute information can bewritten as optional attribute information OPATRI. Moreover, in the defelement DEFSEL, “arbitrary attribute information” can be written. Ascontent information CONTNT placeable in the def element DEFSEL, an“animate element ANIMEL,” an “event element EVNTEL,” a “g elementGROPEL,” a “link element LINKEL,” and a “set element SETELE” can bearranged. The def element DEFSEL is an element used in defining aspecific animate element ANIMEL element (group) as shown in FIG. 91(c).Placing an event element EVNTEL in the def element DEFSEL enables anevent to be generated when there is a change in the state of all of theset (or group) of animation elements. Moreover, placing a link elementLINKEL in the def element DEFSEL makes it possible to set hyperlinkssimultaneously in a set (or group) of specific animation elements.Setting particularly a set element SETELE in the def element DEFSELmakes it possible to set detailed attribute conditions andcharacteristic conditions simultaneously in a set (or group) of specificanimation elements, which helps simplify the description in the markupMRKUP.

In the g element GROPEL, there is no required attribute informationRQATRI. In the g element GROPEL, “id” attribute information can bewritten as optional attribute information OPATRI. Moreover, in the gelement GROPEL, “arbitrary attribute information” can be written. Ascontent information CONTNT placeable in the g element GROPEL, an“animate element ANIMEL,” an “event element EVNTEL,” a “g elementGROPEL,” and a “set element SETELE” can be arranged. The setting ofcontent information CONTNT in the g element GROPEL defining the groupingof animation elements produces the same effect as that of the defselement DEFSEL. Specifically, placing an event element EVNTEL in the gelement GROPEL enables an event to be generated when there is a changein the state of the group of animation elements. In the embodiment,placing particularly a g element GROPEL as a child element in the gelement GROPEL enables sets (or groups) of animation elements to behierarchized, which makes it possible to structure the descriptivecontent in the markup MRKUP. As a result, the efficiency in creating anew markup page MRKUP can be improved.

In the link element LINKEL, there is no required attribute informationRQATRI. In the link element LINKEL, “xml:base” attribute information and“href” attribute information can be written as optional attributeinformation OPATRI.

In a par element PARAEL and a seq element SEQNEL, “begin” attributeinformation has to be written as required attribute information RQATRI.Moreover, in the par element PARAEL and seq element SEQNEL, “id”attribute information, “dur” attribute information, and “end” attributeinformation can be written as optional attribute information OPATRI. Inthe par element PARAEL defining simultaneous parallel time progress orin the seq element SEQNEL progressing sequentially in one direction,“begin” attribute information, “dur” attribute information, or “end”attribute information is written, making it possible to specify “a rangeon the time axis defining simultaneous parallel time progress” or “arange on the time axis defining time progress going on sequentially inone direction, which enables the time progress method to be switchedminutely on the time axis. Moreover, in the par element PARAEL and seqelement SEQNEL, “arbitrary attribute information” can be written. Ascontent information CONTNT placeable in the par element PARAEL and seqelement SEQNEL, a “cue element CUEELE,” a “par element PARAEL,” and a“seq element SEQNEL,” can be arranged. Setting a cue element CUEELE inthe par element PARAEL or seq element SEQNEL enables a specific contentelement to be specified in simultaneous parallel time progress or timeprogress going on sequentially in one direction. Using particularly“begin” attribute information or “end” attribute information in the cueelement CUEELE, the timing of specifying a content element in the timeprogress can be set minutely. The embodiment is characterized in that,since a par element PARAEL and a seq element SEQNEL can be arranged ineach of the par element PARAEL and seq element SEQNEL independently, awide variety of time transition representations can be given on thebasis of the passage of time in the markup page MRKUP.

In the embodiment, it is possible to give complex time transitionrepresentations, such as

setting a hierarchical structure with respect to sequential (orparallel) time progress,

setting partially parallel time progress in sequential time progress, or

setting partially sequential time progress in parallel time progress.

In the set element SETELE, there is no required attribute informationRQATRI. In the set element SETELE, “id” attribute information can bewritten as optional attribute information OPATRI. Moreover, in the setelement SETELE, “arbitrary attribute information” and “arbitraryattribute information in content, style, and state name space” can bewritten.

Finally, in the timing element TIMGEL, “begin” attribute information,“clock” attribute information, and “clockDivisor” attribute informationhave to be written as required attribute information RQATRI. Moreover,in the timing element TIMGEL, “id” attribute information, “dur”attribute information, “end” attribute information, and “timeContainer”attribute information can be written as optional attribute informationOPATRI. Arranging “begin” attribute information, “dur” attributeinformation, and “end” attribute information in the timing elementTIMGEL clarifies the time setting range specified in the time sheet (seeFIG. 91(a)) set in the head element HEADEL. In addition, setting“clockdivisor” attribute information in the timing element TIMGEL makesit possible to set the ratio of the tick clock frequency to the framefrequency serving as a reference clock in the title timeline TMLE. Inthe embodiment, the value of the “clockDivisor” attribute information isused to decrease the tick clock frequency with respect to the frame rateremarkably, which makes it possible to ease the burden of the processingof the advanced application manager ADAMNG (see FIG. 28) in thenavigation manager NVMNG. Moreover, specifying the value of “clock”attribute information in the timing element TiMGEL makes it possible tospecify a reference clock in the time sheet corresponding to the markuppage MRKUP, which enables the best clock to be employed according to thecontents of the markup MRKUP shown to the user. Moreover, in the timingelement TIMGEL, “arbitrary attribute information” can be written. Ascontent information placeable in the timing element TIMGEL, a “defselement DEFSEL,” a “par element PARAEL,” and a “seq element SEQNEL” canbe arranged. Arranging a “par element PARAEL or a “seq element SEQNEL inthe timing element TiMGEL enables a complex time progress path to be setin the time sheet, which enables a dynamic representation correspondingto the passage of time to be given to the user.

As shown in FIG. 94, attribute information used in each elementbelonging to the timing vocabulary, there is “select” attributeinformation for selecting and specifying a content element to be set orto be changed. As shown in FIG. 100, the “select” attribute informationbelongs to required attribute information RQATRI and can be used in thecue element CUEELE. In the embodiment, making good use of the “select”attribute information makes it possible to create a descriptive sentencein a markup MRKUP efficiently. As shown in FIG. 101A, the embodiment ischaracterized in that, as descriptive sentences in the markup MRKUP, ahead element HEADEL descriptive area and a body element BODYELdescriptive area exist separately in the root element ROOTEL and atiming element TIMGEL descriptive area exists in the head elementHEADEL, thereby describing the contents of a time sheet. The embodimentis further characterized in that a styling element STNGEL is written inthe head element HEADEL, thereby setting the contents of a style sheet.The time sheet written in the timing element TIMGL and the style sheetwritten in the styling element STNGEL are written in an area differentfrom the body element BODYEL. As shown in FIG. 101A, in the timingelement TIMGEL, a cue element CUEELE is written. As required attributeinformation RQATRI in the cue element CUEELE, “select” attributeinformation is written. In the “select” attribute information, specificelement specifying information SLCTEL in the body element can bewritten. On the basis of the “select” attribute information, a specificelement to be written in the body element BODYEL is specified, whichenables timing control information about the element specified in thetime sheet to be shared and written in the time sheet (or in the timingelement TIMGEL). Similarly, as shown in FIGS. 101A and 101B, in thestyle sheet written in the styling element STNGEL, a style elementSTYLEL is written. In the style element STYLEL, “select” attributeinformation is written. As described above, in the “select” attributeinformation, specific element specifying information SLCTEL in the bodyelement can be written. This makes it possible to specify a commondisplay style for specific elements written in the body element BODYEL.

Using FIG. 101B, a method of writing specific element specifyinginformation SLCTEL in the body element set as the value of the “select”attribute information will be explained.

In method 1] of the embodiment explained first, a specific element inthe body element BODYEL and the element name to which the specificelement belongs are specified at the same time. Specifically, when aspecific element in the body element BODYEL and the element name towhich the specific element belongs are specified at the same time, thefollowing description method is used:

Select=“//[content model information CONTMD][@id=[identification dataELEMID on the specific element]

That is, the content model information CONTMD specifies thecorresponding element name (see FIG. 90(c)) and identification dataELEMID on the specific element written just behind “id=“specifies (thevalue of “id” attribute information specified in) the specific element.The condition is based on the assumption that, in the content elementwritten in the body element BODYEL, identification data (the value of“id” attribute information shown in FIG. 93) is written for each elementto be specified. That is, as shown in FIG. 93, “id” attributeinformation for setting identification data (ID data) about each elementin the content element can be written in the content element. Moreover,as shown in FIG. 99, the “id” attribute information for settingidentification data (ID data) about each element belongs to optionalattribute information OPATRI and can be set in all of the contentelements. In the embodiment, as shown in FIG. 101B, identification data(ID data) about each element specified by the “id” attribute informationis specified by “specific element identification data ELEMID” in“select” attribute information. An example of concrete description ofspecific element specifying information SLCTEL in the body elementcorresponding to item 1] is shown in item 4] of FIG. 101B. The part(select=“//p[@id=‘P1ID’]”) underlined in 4] and shown by [1] is writtenby the description method of 1] of FIG. 101B.

In the description method shown of 2] of FIG. 101B in the embodiment,all of the elements by the same element name (having the same contentmodel information CONTMD) in the body element can be specified at thesame time. In this case, the following is written:

select=“//[content model information CONTMD]”

All of the elements in the body element BODYEL corresponding to the samecontent model information CONTMD can be specified at the same time. Anexample of concrete description using the description method of 2] isshown in the area (select=“//p”) specified by [2] underlined in 4] ofFIG. 101B.

Furthermore, in the embodiment, as shown in 3] of FIG. 101B, when only aspecific element in the body element BODYEL is specified, the followingis written:

Select=“//*[@id=[identification data ELEMID on a specific element]]”

On the basis of the “identification data ELEMID on a specific element,”identification data (ID data) on each element specified by “id”attribute information in the specific element described in the bodyelement BODYEL can be specified. A concrete example of the descriptionmethod is shown in the part (select=“//*[@id=‘P1ID’]”) underlined in 4]of FIG. 101 and shown by [3].

FIGS. 102A and 102B show an example of rewriting the example ofdescription of the markup MRKUP of FIG. 92(f) on the basis of the selectattribute information shown in FIGS. 101A and 101B. In FIG. 92(f), threep elements PRGREL are written in an object element OBJTEL. As attributeinformation in the object element, the following is written repeatedlyfor each p element PRGREL:

style:textAlign=“center”

In contrast, in the description method of FIG. 102B(e), the following iswritten only in a style element STYLEL written first in the stylingelement (see broken line γ):

<style select=“//p” style:textAlign=“center”/>

In the description method related to “specific element specifyinginformation SLCTEL in the body element” for the select attributeinformation, all of the p elements PRGREL in the body element BODYEL arespecified at the same time using the description method shown in 2] ofFIG. 101B. As a result, the following is set in all of the p elementsPRGREL in the body element BODYEL:

Style:textAlign=“center”

By the above description method, repetitive descriptions are eliminatedin each p element PRGREL, which helps simplify the descriptive sentencein the markup MRKUP. In the next and later style elements STYLEL writtenin the styling element STNGEL of FIG. 102B(e), the description method in3] of FIG. 101B is used as the method of writing “specific elementspecifying information SLCTEL in the body element” about selectattribute information, thereby referring to each item of identificationdata (ID data) about each p element PRGREL written in the body elementBODYEL. Specifically, as shown in the correspondence between broken lineδ, broken line ε, and broken line ζ, the value of id attributeinformation in each p element PRGREL is referred to on the basis ofselect attribute information in each style element STYLEL. In FIG.92(f), each piece of attribute information defined as an option in thestyle name space is written separately in each p element PRGREL in thebody element BODYEL. In contrast, use of the description method of FIG.102B(e) substantially simplifies the descriptive sentence related toattribute information in the p element PRGREL. As shown in FIG. 102B(e),the description method in 3] of FIG. 101B is applied to the value ofselect attribute information in the cue element CUEELE written in thetiming element TIMGEL. Specifically, as shown in the correspondencebetween broken line δ, broken line ε, and broken line ζ, the value of idattribute information in each p element PRGREL is referred to in thecorresponding cue element CUEELE. In FIG. 92(f), “begin” attributeinformation for defining various types of attribute information definedas options in the style name space and the execution start, “dur”attribute information for setting the length of the execution period ofthe corresponding element, and “end” attribute information (see FIG. 94)for setting the ending time of the execution period of the correspondingelement are written separately in each p element PRGREL in the bodyelement BODYEL. In contrast, in an example of description of FIG.102B(e), since cue elements can be distributed in the style elementSTYLEL and cue element CUEELE according to the contents of attributeinformation to be written, the descriptive content in the p elementPRGREL can be simplified. As a result, the work of creating a new markupMRKUP or of editing a markup MRKUP can be simplified. In FIG. 92(f),timeContainer=“seq” has been written in each p element PRGREL. Incontrast, in the description method of FIG. 102B(e), timeContainer=“seq”is written so as to be shared in a timing element TIMGEL including aplurality of cue elements CUEELE. In the embodiment, using therelationship between a parent element and a child element as shown bybroken line β, timeContainer=“seq” can be applied to the cue elementsCUEELE serving as all of the child elements. Accordingly, with thecommon description of timeContainer=“seq”, the descriptive sentence ofthe markup MRKUP of FIG. 92(f) is simplified remarkably. In addition tothis, clock=“title” (underline α) is written in the timing elementTIMGEL in the embodiment, which indicates that the reference clock usedto display the markup MRKUP is a title clock (or medium clock). Thus,the time progress of the markup MRKUP is displayed in synchronizationwith the title timeline TMLE for each title. For example, even if theuser performs fast-forward (FF) or fast-rewind (FR) and, according tothis, the time progress of the title timeline TMLE changes, the markupMRKUP is displayed in synchronization with the title timeline TMLE.Moreover, as shown in FIG. 102B(e), PC data written as contentinformation in each p element PRGREL is displayed as subtitles shown inFIGS. 102A(a) to 102A(c). Specifically, as content information CONTNT ina p element PRGREL of FIG. 102B(e), the phrase “Toshba is” is displayedin the relationship shown by broken line λ in FIG. 102A(a). The word“excellent” is displayed in the relationship shown by broken line μ inFIG. 102A(b), and the word “company” is displayed in the relationshipshown by broken line ν in FIG. 102A(c).

FIG. 102B(f) shows the effect produced by using the “select” attributeinformation in the embodiment. Attribute information that would bewritten repeatedly in the individual elements in the body element BODYELcan be written in one place (shown by broken line β and broken line γ)so as to be shared in a style sheet (in a styling element STNGEL) or ina timing sheet (in a timing element TIMGEL). This helps reduce the totalamount of descriptive sentence in the markup MRKUP, which makes it easyto download data into a file cache FLCCH that stores the markup MRKUPtemporarily. Since the writing locations of attribute information can bedistributed by content into a style sheet/a time sheet/a body elementBODYEL, the process of changing the descriptive content of the markupMRKUP can be simplified, which produces the effect of facilitatingprogram editing.

As shown in FIG. 12, in the embodiment, the following are possible:

1. From the playlist PLLST that manages the playback sequence of movingimages (or primary enhanced video objects P-EVOB or secondary enhancedvideo objects S-EVOB) (specifically, in object mapping information asshown in FIG. 17), the markup MRKUP is referred to at the same level asthat of the moving images, thereby managing the reproduction and displayand the timing of reproduction and display simultaneously on the samescreen (see FIG. 16). As a result, not only can a plurality ofpresentation objects (including moving images and the markup screenMRKUP) be reproduced and displayed simultaneously without interruptingthe reproduction and display for the user, but also control can beperformed so as to synchronize (or interlock) the reproduction anddisplay timing of the moving images with that of the markup screenMRKUP, which improves a screen representation for the user remarkably.

2. Instead of referring to the markup MRKUP directly from the playlistPLLST, the manifest MNFST is referred to directly from the playlistPLLST and a markup MRKUP to be displayed first is specified from themanifest MNFST. As shown in FIG. 81(e), in the resource element RESELEin the manifest MNEFT, URI information about all of the markups MRKUPwhich are not shown at first, are transferred as a result of the userselection or a script process, and are to be shown to the user has beenwritten. Consequently, before displaying the first markup MRKUP, thenavigation manager NVMNG (see FIG. 28) in the advanced content playbacksection ADVPL can store “all of the markup information MRKUP to be shownto the user as a result of transition and a resource file to be used forthe purpose (including still images IMAGE, effect audio EFTAD, and fontsFONT)” temporarily into the file cache FLCCH. Therefore, even when theuser selection or a script process takes place, the markup screen MRKUPcan be changed immediately without keeping the user waiting.

Furthermore, in the embodiment, the following are possible:

3. Any one of “title clock,” “page clock,” and “application clock” canbe selected on the basis of “clock attribute information” shown in FIG.94 in the timing element TIMGEL of FIG. 91(c). This makes it possible toflexibly set the application of moving images (or primary enhanced videoobjects P-EVOB or secondary enhanced video objects S-EVOB) or thereproduction and display timing of a markup MRKUP.

-   -   For example, adapting the value of “clock attribute information”        to “title clock” causes the reproduction and display timing of        an application or a markup MRKUP to coincide completely with        that of moving images. Accordingly, for example, when “subtitles        or tickers” are displayed in the markup MRKUP, or when moving        images are reproduced in a special manner (such as, fast-forward        or fast-rewind), subtitles or tickers can be changed in        synchronization with the special reproduction.

Furthermore, setting the value of “clock attribute information” to “pageclock” or “application clock” enables a screen displayed in a markupMRKUP, such as an animation screen, to be reproduced at a standard speedwithout being affected by the special reproduction, even when movingimages are reproduced in a special manner (such as, fast-forward orfast-rewind).

Next, a method for an “event process” (event handle) in the embodimentwill be explained. As shown in FIG. 1, the information recording andreproducing apparatus 1 includes an advanced content playback sectionADVPL. Moreover, as shown in FIG. 14, the advanced content playbacksection ADVPL includes a navigation manager NVMNG which manages andcontrols the reproduction of advanced contents ADVCT. In the embodiment,“notice information” getting up to the navigation manager NVMNG iscalled an “event” and issuing the “notice information” is called“occurrence of an event.”

<Definitions>

User Events:

User events are events fired by a user interaction. For example a remotecontrol event. It is important to note that user events are sent toscript first then to the DOM (markup). In markup user events areprocessed via the accessKey mechanism.

System Events:

System events are events fired by the player. System events are sent toscript only. They are not sent to the DOM (markup).

Therefore only script has the opportunity to handle a system event.However it is possible for markup to respond to a system event via theXPath playState variable.

System events are placed into the event queue by three causes. One iscaused by the definition in Playlist and the progress of time on TitleTimeline, another is caused by API call, and final one is caused bychanges of Player device (controllers and Persistent Storages). Whensystem event is caused by the progress of time on Title Timeline, it isfired in head of tick event and may be executed by this tick event. Thistable also shows the order of system event occurrence. When systemevents occur at the same time by the progress of time on Title Timeline,events are fired in same order of this table. For example, Video Trackevent shall be fired before Audio Track event. When system events arecaused by API, this rule shall not be applied. In case of API, order ofevents shall be same as an order of API calls.

The following elements are used.

Event Name: name of system events

Content: explanation for system events, it indicates when the event isfired.

Trick Play: During trick play (not play state), part of system eventsshall not be fired. This column is shown what system events is fired.

F: This system events shall be fired even during trick play.

N: This system events shall not be fired during trick play.

In the embodiment, as for the “event,” the following five types ofevents are defined:

1. User event

2. System event

3. Application event

4. DOM event

5. Canceling event

Hereinafter, each of the events will be explained.

1. User Event

A user event occurs when the user inputs data. As an example, a remotecontrol event occurs when the user does setting on a remote controller.The embodiment is characterized in that the user event is sent first toa script SCRPT and then sent to DOM (markup MRKUP). This is veryimportant for user events. An user event in the markup MRKUP isprocessed using an “access key” (the value of the accessKey attributeshown in FIG. 93 or 99). As shown in FIG. 14, in the advanced contentplayback section ADVPL of the embodiment, the navigation manager NVMNGexists. A user operation UOPE based on the user input is input to thenavigation manager NVMNG. As shown in FIG. 44, in the navigation managerNVMNG, there is a user interface engine UIENG. Receiving the useroperation UOPE, the user interface engine UIENG issues a user interfaceevent UIEVT. As shown in FIG. 44, when a programming engine PRGENexisting in the advanced application manager ADAMNG in the navigationmanager NVMNG receives the user interface event UIEVT, an ECMA scriptprocessor ECMASP searches the script ADAPtS of the advance applicationfor the corresponding processing method. When having found an APIcommand to be issued according to the script ADAPLS of the advancedapplication, the ECMA script processor ECMASP issues each function inthe API command shown in FIGS. 106A to 110B to the playlist managerPLMNG or presentation engine PRSEN. If having failed to find an APIcommand to be issued according to the user interface event UIEVT in thescript ADAPLS of the advanced application, the ECMA processor ECMASPthen searches a default event hander script DEVHSP. In the default eventhander script DEVHSP, a list of information about default input handlersshown in FIG. 49 has been stored. If having found the contents (thecorresponding event handler) to be processed according to the userinterface event UIEVT in the default event handler script DEVHSP, theECMA processor ECMASP issues information about the default input handerto the playlist manager PLMNG or presentation engine PRSEN.

2. System Event

A system event means an event issued from the advanced content playbacksection ADVPL. A system event is transferred only to a script SCRPT.Therefore, the system event is not issued to DOM (markup MRKUP).Accordingly, only the script SCRPT is waiting for an opportunity tohandle the system event. However, using “Xpath playState” variable, themarkup MRKUP can respond to the system event. FIGS. 103A and 103B show atable listing the contents of all system events in the embodiment. Inthe embodiment, the system events can be caused to occur in thefollowing three cases:

a) When a system event is defined in a playlist PLLST (a system eventoccurs on the basis of a specific time progress on the title timelineTMLE)

b) A system event occurs on an API call

c) A system event occurs on the change of the storage medium (or therecording location of the advanced content) used by the advanced contentplayback section ADVPL

If the system event occurs on the basis of the time progress on thetitle timeline TMLE, the system event occurs at the starting position ofa tick event and the system event is executed by the corresponding tickevent. In the table of the contents of various system events shown inFIGS. 103A and 103B, they are listed in the order of frequency at whicha system event occurs. In the embodiment, if a plurality of systemevents have occurred on the basis of the time progress on the titletimeline TMLE, they are designed to be handled (or managed) sequentiallyby the event handler in the order in which they are listed in FIGS. 103Aand 103B. For example, a video track even occurs before an audio trackevent. If a system event has occurred in response to an API command, theabove priority does not hold. If a system event has occurred on thebasis of an API command, the order in which system events occur must bemade equal to the order of the corresponding API calls. While noticeinformation getting up to the navigation manager NVMNG (see FIG. 14) iscalled an “event,” the process corresponding to the event content andthe process of managing (or handling) the process content are called“event handler.” In the embodiment, the “event handler” is handled (orexecuted and managed) by the navigation manager NVMNG.

3. Application Event

In the embodiment, an application event is caused to occur by anadvanced application ADAPL. The application event occurs on the basis ofa script SCRPT or a markup MRKUP. If the application event is caused tooccur by the markup MRKUP, it occurs on the basis of an event elementEVNTEL as shown in FIG. 105. These application events are handled onlyby the script SCRPT.

4. DOM Event

A DON event is an event occurring when the domain is changed. That is,the DOM is changed as a result of the occurrence of transition of thedomain.

5. Canceling Event

A canceling event is used to cancel an event process. When the cancelingevent specifies the cancellation of stop propagation, such a process astaking in images is stopped. Moreover, when the canceling event iscancelled as a result of suppressing the default state, the defaultstate (or initial setting state) of the event is cancelled.

The above item 2. The table of the contents of various system eventsdescribed in the system event will be explained below.

A “title begin event,” which is a system event for starting thereproduction of a title, indicates a starting state as an event state.The setting value set in the title begin event is the value of“title_begin.” Next, a “title end event,” which is a system event forending the reproduction of a title, indicates an end state as an eventstate. The setting value set in the title end event is the value of“title_end.” A “scheduled event,” which is a system event for executingevents scheduled in advance, indicates an event state as an event state.The setting value set in the scheduled event is the value of“scheduled_event.” A “chapter event,” which is a system event forchanging the chapter to be reproduced, indicates a change state as anevent state. The setting value set in the chapter event is the value of“chapter.” Next, a “click begin event,” which is a system event forstarting the reproduction of a presentation object (or starting thereproduction of various clip elements in the playlist PLLST (see FIG.54(b)), indicates a start state as an event state. The setting value setin the clip begin event is the value of “clip_begin.” A “click endevent,” which is a system event for ending the reproduction of apresentation object (or ending the reproduction of various clip elementsin the playlist PLLST (see FIG. 54(b)), indicates an end state as anevent state. The setting value set in the clip end event is the value of“clip_end.” A “video track event,” which is a system event for changingthe video track number to be reproduced and displayed, indicates achange state as an event state. The setting value set in the video trackevent is the value of “video_track.” A “audio track event” changes theaudio track number to be reproduced and displayed. The setting value setin the audio track event is the value of “audio_track.” Next, a“subtitle track event,” which is a system event for changing thesubtitle track number to be reproduced and displayed, indicates a changestate as an event state. The setting value set in the subtitle trackevent is the value of “subtitle_track.” Next, an “application endevent,” which is a system event for ending the execution of anapplication, indicates an end state as an event state. The setting valueset in the application end event is the value of “application_end.” A“play state event,” which is a system event for changing the reproducingstate, indicates a change state as an event state. The setting value setin the play state event is the value of “play_state.” A “play speedevent,” which is a system event for changing the reproducing speed,indicates a change state as an event state. The setting value set in theplay speed event is the value of “play_speed.” A “controller event,”which is a system event for showing the connected state of a controller(or the start of connection with a controller), indicates a connectedstate as an event state. The setting value set in the controller eventis the value of “controller_connected.” Next, a “controller event,”which is a system event for showing the disconnected state of acontroller (or the stop of connection with a controller), indicates adisconnected state as an event state. The setting value set in thecontroller event is the value of “controller_disconnected.” Next, a“persistent storage event,” which is a system event for changing apersistent storage unit to be set, indicates a change state as an eventstate. The setting value set in the persistent storage event is thevalue of “persistent_storage.” A “network time-out event,” which is asystem event for carrying out a time-out process of a network line (ordisconnecting a network line corresponding to the time-out time),indicates time-out as an event state. The setting value set in thenetwork time-out event is the value of “network_timeout.” Next, a“resource-not-found event,” which is a system event for showing a statewhere a resource storage location is unconfirmed, indicates anunconfirmed state as an event state. The setting value set in theresource-not-found event is the value of “resource_not_found.” A“streaming buffer empty event,” which is a system event for showing thatthe streaming buffer is empty, indicates an empty state as an eventstate. The setting value set in the streaming buffer empty event is thevalue of “buffer_empty.” A “streaming buffer restart event,” which is asystem event for restarting a streaming buffer, indicates a restartingstate as an event state. The setting value set in the streaming bufferrestart event is the value of “buffer_restart.” Next, a “networkconnection event,” which is a system event for connecting a networkline, indicates a connection state as an event state. The setting valueset in the network connection event is the value of“network_connection.” A “stop request event,” which is a system eventfor requesting a stop, indicates a stop state as an event state. Thesetting value set in the stop request event is the value of“stop_request.”

The terms in the embodiment, including “API,” “script SCRPT,” and“function,” will be explained. European Conference on Standardization(ECMA) has already standardized a method of describing a script SCRPT.The standardized script has been called “ECMA script.” For the ECMAscript, API commands newly defined in the embodiment are shown in FIGS.106A to 110B. Unless otherwise specified, (narrowly-defined) APIcommands in the embodiment indicate the API commands having the contentsshown in FIGS. 106A to 110B. In contrast, in the embodiment, the APIcommands defined in FIGS. 106A to 110B and the API commands defined inthe ECMA script are generically called “broadly-defined API commands.”Moreover, the contents of the process when each of a part of the APIcommands is actually executed are called “function.” As described inFIGS. 103A and 103B, notice information getting up to the navigationmanager NVMNG (see FIG. 14) in the advanced content playback sectionADVPL is called an “event.” In the embodiment, a combination of the APIdescribed above and a combination (or program) of a series of commandsdefined in the ECMA script are called a “script SCRPT.” In theembodiment, the “function” is executed on the basis of the “event”explained in FIGS. 103A and 103B. The “event” and the contents (orprogram) of handling the “function” are defined in a “script SCRPT.” Asfor the contents of a concrete “script SCRPT,” the following have beenprogrammed as illustrated in the “script SCRPT” in FIG. 105 (fordetails, refer to the description of FIG. 105):

-   -   A part in which the contents of an “event” to be monitored are        clearly specified        -   Event listener descriptive sentence EVTLSD including an            event listener EVTLSN    -   A part in which the contents of the “function” of an API command        to be executed are shown        -   Descriptive sentence APIFNC of a function in the API command            and information (e.g., event listener EVTLSN) that relates            an “event” to a “function.”

According to the contents written in the “script SCRPT,” the navigationmanager NVMNG handles the execution of the “function” (or controls andmanages the execution process). More specifically, as shown in FIG. 44,the ECMA script processor ECMASP is included in the programming enginePRGEN in the navigation manager NVMNG. The ECMA script processor ECMASPcontrols the execution at the advanced content playback concerning (aseries of) “function” according to the contents specified in the “scriptSCRPT”

Regarding a “script SCRPT” referred to (or used) by the ECMA scriptprocessor ECMASP, the following two types of script SCRPT are defined inthe embodiment:

A) Default Event Hander Script DEVHSP

In the embodiment, a (handler) script for handling a specific event isdefined in the default state in advance. Specifically, this means thecontents corresponding to the “default input handler” shown in FIG. 49.Information about the default event handler script DEVHSP is recorded inadvance in the “default event handler script DEVHSP in the programmingengine PRGEN as shown in FIG. 44.

B) Script ADAPLS of Advanced Application

A script SCRPT (see FIG. 14) belonging to the advanced application ADAPLhas a data structure shown in the script SCRPT of FIG. 105. As shown inFIG. 81(c), according to “the storage location SRCSCR for a script fileto be used first” (src attribute information) written in the scriptelement SCRELE in the manifest MNFST and “the storage location SRCRSCfor the corresponding resource” (src attribute information) written inthe resource element RESELE, the storage location (or path) of thescript file SCRPT belonging to the advanced application ADAPL and thefile name are written. As shown in FIG. 25, information about all of theadvanced applications ADAPL including script files SCRPT is storedtemporarily into a file cache FLCCH. In the embodiment of FIG. 44, “thestorage location for a script SDAPLS of the advanced application” existsin the programming engine PRGEN. The script file SCRPT stored in thefile cache FLCCH is copied into the storage location as needed forsubsequent use. Alternatively, the programming engine PRGEN may notinclude “the storage location for a script SDAPLS of the advancedapplication” and the ECMA script processor ECMASP may access the storagelocation of the script file SCRPT in the file cache FLCCH as needed byway of the file cache manager FLCMNG in the navigation manager NVMNG,thereby acquiring script information SCRPT necessary for processingcontrol by the ECMA script processor ECMASP.

As shown in FIG. 104, the contents of (a series of) “function” to becarried out when the event (or event input EVNTIN) specified formonitoring in script SCRPT#2 has occurred are written in script#2. Thereare five types of event input EVENTIN (event occurrence) in theembodiment as explained in FIGS. 103A and 103B:

1. User input event

2. System event input

3. Application event input

4. DOM event input

5. Canceling event input

First, 1. The correspondence with scrip SCRPT#2 when a user input eventhas been input will be explained. When the user enters a user inputusing a remote controller or a mouse, a user operation UOPE is input tothe navigation manager NVMNG in the advanced content playback sectionADVPL as shown in FIG. 14. As shown in FIG. 28, the user interfaceengine UIENG in the navigation manager NVMNG includes a remotecontroller RMCCTR for controlling the remote controller and a mousecontroller MUSCTR for controlling the mouse. Information about the userinput event (or user interface event UIEVT) to the user operation UOPEgenerated by the functions of the remote controller and mouse controlleris transferred to the advanced application manager ADAMNG. In theembodiment, all of the user input events are handled first by theprogramming engine PRGEN in the advanced application manager ADAMNG. Asdescribed above, “user event handler” (or the program for handling theexecution of (a series of) “function” corresponding to “user inputevent”) defined in the script SCRPT (or script SCRPT#2) belonging to theadvanced application ADAPL is stored (or copied from the file cacheFLCCH) temporarily into the programming engine PRGEN. As anotherembodiment, as described above, instead of storing the “user eventhandler” temporarily into the programming engine PRGEN, the “user eventhandler” temporarily stored in the file cache FLCCH may be used (orreferred to) directly. When the ECMA script processor ECMASP of FIG. 44receives information about the user input event (or user interface eventUIEVT), the ECMA script processor ECMASP checks whether the “user eventhandler” in which the process contents ((a series of) “function”contents) corresponding to the user input event (or user interface eventUIEVT) have been written has been stored temporarily in the file cacheFLCCH. If having found the corresponding “user event handler,” the ECMAscript processor ECMASP carries out (or controls) the processing (or (aseries of) “function” contents) according to the contents written in theuser event handler.” If having failed to find the corresponding “userevent handler” in the programming engine PRGEN or in the file cacheFLCCH, the ECMA script processors searches the “default event handlerscript DEVHSP storage location” to check whether the default inputhandler” (or default event handler script DEVHSP) corresponding to theuser input event (or user interface event UIEVT) exists. If thecorresponding default input handler” (or default event handler scriptDEVHSP), the ECMA script processor ECMASP carries out (or controls) theprocess according to the contents written in the default input handler”(or default event handler script DEVHSP).

Furthermore, in the executing method based on the descriptive contentwritten in script SCRPT#2 for the other four types of event inputsEVNTIN (i.e., system event input, application event input, DOM eventinput, and canceling event input), the ECMA script process ECMASPcontrols the execution as described above. The four types of eventinputs EVNTIN differ from each other in the method of inputting data tothe corresponding programming engine PRGEN.

That is, 2. A system input event means the contents of “other eventsOTEVT” and the advanced content playback section ADVPL causes an “event”to occur. Specifically, when any one of the various “system events”shown in FIGS. 103A and 103B have occurred, a system input event occurs.

Next, 3. An application event input has an event defined by an eventelement EVNTEL in the markup MRKUP shown in FIG. 105. For example, thecontents of an event element EVNTEL are set (or written) so that anevent may occur when the user specifies (or activates) a specific buttonon the screen represented in the markup page MRKUP. The relationshipbetween the specific button in the markup page MRKUP and the eventelement EVNTEL can be set (or written) as follows. For example, “id”attribute information for setting each piece of identification data (IDdata) in the button element BUTNEL for setting a specific button isadded (see FIG. 93 or 99) and the value of the “id” attributeinformation is specified by “select” attribute information in the cueelement CUEELE as shown in FIGS. 101A and 101B, thereby forming a linkbetween the button element BUTNEL and the cue element CUEELE. Then, theparent-child relationship between the cut element CUEELE and the eventelement EVNTEL is formed, thereby setting the correspondence between thespecific button set by the button element BUTNEL and the event elementEVNTEL. The parent-child relationship between the cut element CUEELE andthe event element EVNTEL means that, for example, the event elementEVNTEL is placed as a child element in the location of contentinformation CONTNT in the cue element CUEELE (see FIG. 90(c)). In theembodiment, an event element EVNTEL can be placed as a child element inthe location of content information CONTNT in a cue element CUEELE asshown in FIG. 100. However, a cue element CUEELE cannot be placed as achild element in the location of content information CONTNT in an eventelement EVNTEL as shown in FIG. 100. As described above, for example, ina case where the contents of an event element EVNTEL are set (orwritten) so that an event may occur when the user specifies (oractivates) a specific button on the screen represented in the markuppage MRKUP, when the user specifies (or activates) the specific button,then the corresponding event occurs. The event listener EVTLSN in anevent listener descriptive sentence EVTLSD written in the script SCRPTof FIG. 105 is monitoring the occurrence of an event in the markupMRKUP. When the event listener EVTLSN has detected an event occurredfrom the event element EVNTEL, the execution of the “function” (see FIG.105) specified in the function descriptive sentence APIFNC in the APIcommand in the script SCRPT is specified. The executing process in theadvanced content playback section ADVPL according to the contentswritten in the script SCRPT is controlled by the ECMA script processorECMASP as described above. The storage location (or path) of (aplurality of) script files SCRPT and the file name used in an advancedapplication ADAPL are written on the basis of “the storage locationSRCSCR of a script file to be used first” (src attribute information)written in the script element SCRELE in the manifest MNFST and “thestorage location SRCRSC of the corresponding resource” (src attributeinformation) of FIG. 81(c). In the embodiment, as shown in FIG. 25,before the advanced application ADAPL is reproduced and displayed forthe user, all of the script files SCRPT used in the advanced applicationADAPL are stored temporarily in the file cache FLCCH. In FIG. 105, onlyone script SCRPT is displayed next to a markup MRKUP. In FIG. 104,script SCRPT#2 is displayed as if only script SCRPT#2 existed in theperiod during which an advanced application is being executed (ofdisplayed). However, in the embodiment, in many cases, a plurality ofscript files SCRPT used in an advanced application ADAPL are storedtemporarily into the file cache FLCCH. Accordingly, when an event hasoccurred on the basis of a specific event element in the markup MRKUP,the ECMA script processor ECMASP searches for all of the script filesSCRPT stored temporarily in the file cache FLCCH and finds the scriptSCRPT in which the “function” content corresponding to the event hasbeen written. That is, the script SCRPT in which the “function” contentcorresponding to the event has been written means a script SCRPT where“the name EVNTNM corresponding to an event to which an arbitrary namecan be given” has been written in the event listener EVTLSN. When havingfound the script SCRPT in which the “function” content corresponding tothe event has been written, the ECMA script processor ECMASP performscontrol so that an executing process according to the function nameAPIFNC defined in the API command” may be carried out in the advancedcontent playback section.

<Timing Model for Advanced Application>

Advanced Application (ADV APP) consists of one or plural Markup(s) fileswhich can have one-directional or bi-directional links each other,script files which shares a name space belonging to the AdvancedApplication, and Advanced Element files which are used by the Markup(s)and Script(s).

Valid period of each Markup file in one Advanced Application is the sameas the valid period of Advanced Application which is mapped on TitleTimeline.

During the presentation of one Advanced Application, active Markup isalways only one. An active Markup jumps one to another.

The valid period one Application is divided to thee major periods;pre-script period, Markup presentation period and post-script period.

In the embodiment, as shown in FIG. 14, an advanced application ADAPL iscomposed of one or more script files SCRPT and still image files IMAGE,effect audio files EFTAD, and font files FONT which are advanced filesreferred to by the script files. In the embodiment, a plurality ofmarkup files MRKUP are linked with one another in one-way direction or atwo-way direction, which enables the transition of the markups MRKUPlinked with one another in such a manner that markup (or the firstmarkup) MRKUP#0 changes to markup MRKUP#1 and then to markup#2, andfurther changes to markup (or the first markup) MRKUP#0 again, and thento markup#1 again as shown in FIG. 104. In the embodiment, as shown inFIG. 14, the markup MRKUP is accessed via the manifest MNFST from theplaylist PLLST. In the embodiment, as shown in FIG. 56(d), “the storagelocation URIMNF of a manifest file including initial setting informationon an advanced application” (src attribute information) can be writtenin the application segment element APPLSG written in the object mappinginformation OBMAPI in the playlist PLLST. From the information, thelocation (or path) of the manifest file MNFST and its file name can beknown. In the manifest file MNFST, a markup element MRKELE is written asshown in FIG. 81(a). In the markup element MRKELE, “the storage locationSRCMRK of a markup file to be used first” (src attribute information) iswritten as shown in FIG. 81(d). From the information, the location (orpath) of the file corresponding to markup (or the first markup) MRKUP#0shown in FIG. 104 and its file name can be known. Moreover, in themanifest MNFST, a resource element RESELE can be written as shown inFIG. 81(a). From the storage location SRCRSC of the correspondingresource” (src attribute information) (see FIG. 81(e)) in the resourceelement RESELE, markup file MRKP#1, the storage location (or path) ofmarkup file MRKUP #2, and its file name can be known. In the scriptSCRPT shown in FIG. 14, the name space belonging to the same advancedapplication ADAPL can be shared. As described above, in the embodiment,an advance application ADAPL always requires only one markup MRKUP (ormarkup MRKUP in the active state (or in execution)) to be displayed.That is, as shown in FIG. 104, in showing the markup MRKUP (in theactive state) to the user, one markup MRKUP is transited to another,thereby displaying only one markup MRKUP. In FIG. 104, the areas paintedgreen show the state (or the active state) displayed to the user. Aplurality of markups MRKUP will not be painted green at the same timewithin the same time frame on the title timeline TMLE. As shown in FIG.56(d), in the application segment element APPLSG written in the objectmapping information OBMAPI in the playlist PLLST, “beginning time TTSTTMon the title timeline” (titleTimeBegin attribute information) and“ending time TTEDTM on the title timeline” (titleTimeEnd attributeinformation) are written. The range of the information corresponds tothe effective time APVAPE of the advanced application shown in FIG. 104.In the embodiment, the effective time APVAPE of the advanced applicationis divided into the execution time PRSEPE of a prescript, thepresentation time of a markup MRKUP, and the execution time POSEPE ofthe postscript. In the embodiment, in the range of the presentation timeof the markup MRKUP, a markup MRKUP to be displayed is transited. Asshown in FIG. 91(a), a timing element TIMGEL exists in the head elementHEADEL in the descriptive sentence in the markup MRKUP, thereby creatingtime sheet information. The display time TELPPE written in the timingelement TIMGEL coincides with the presentation period of the markupMRKUP. Specifically, in the embodiment, when the effective period of anadvanced application ADAPL starts, it is possible to execute a specificscript SCRPT#1 called a prescript before the markup MRKUP is displayed.Immediately after the processing of script SCRPT#1 called the prescripthas been done, the beginning time APFMST of the advanced application andthe first markup is started. Immediately after the ending time APLMET ofthe advanced application and the last markup has elapsed, script SCRPT#3called the postscript can be executed. As a result, when the advancedapplication ADAPL is made active, a specific script SCRPT is caused torun immediately before and after the markup MRKUP is displayed, therebyimproving the power of expression to the user more. In the embodiment,like script SCRPT#2 used in the display period of the markup MRKUP, aprescript (script SCRPT#1) and a postscript (script SCRPT#3) have adescription format similar to that in the script SCRPT of FIG. 105. Whenthe contents written in the prescript (script SCRPT#1) and the contentswritten in the postscript (script SCRPT#3) are executed at the advancedcontent playback section ADVPL (e.g., the “function” content isexecuted), the ECMA script processor ECMASP performs control similarly.

<The Valid Interval>

The playlist defines how a number of Advanced Applications can be activesimultaneously. The playlist defines when an application is “valid”.Valid means that the application can run. The valid interval is definedby the start and end times of the <ApplicationSegment>element on thetitle. An application is valid when the Title Timeline is within theinterval. Applications whose autorun flag is set to true are launchedautomatically at the start of the ApplicationSegment.

The time interval over which an application is valid cannot bemanipulated from script.

Application execution is not allowed until the application is valid.This means that execution of any top-level code in the script shall notbe done in advance as part of pre-fetching or preloading the script.

The processing lifecycle of a single Advanced Application is as follows:  . Read manifest file   . Read script file(s)   . Execute scripts(creation of execution context)   . * Repeat while application is valid  #Read the first (or next) xml file   #Decode Advanced Navigation files  #Presentation and Interaction of Markup page until navigation   . Loopto*   . Execute post-scripts (execution of event handlers)   . Unloadexecution context

An application can be activated when the title time in the current titleis within the valid interval of the application as defined by theplaylist, and cannot be activated when the title time is outside thevalid interval.

The manifest file defines the set of files to create the applicationexecution context. During this initial script execution period no markupfile is presented.

After the script is loaded, the first markup page is decoded andpresented. The start of the presentation period for the first markuppage defines the zero for the application clock. This means theapplication clock is reset at the start of the presentation period ofits first markup page.

This application clock continually increments until the end of thepresentation period of the last markup page, this coincides with the endof the active interval of the application as defined by the playlist.

After the last markup page is unloaded, the script context will persistuntil all pending event handlers have executed. This is the ‘trailingevent period’. Note during the initial and trailing execution periodsthe ‘document’ property of the global object in the script context willbe set to undefined, and access to the host API objects may have otherrestrictions. As each page is loaded the document property is set to avalue of type Document and provides access to the DOM of the loadedpage.

The onset of each presentation period for markup pages resets to zerothe page clock for the application.

In the transition period between one markup page and another while thenew page is being decoded, the last frame of the outgoing markup page ismaintained on screen.

Note: The presentation engine may optionally use pre-decoding techniquesto minimize transition periods between markup pages.

<Presentation of Markup Page>

Decode Advanced Navigation files is broken down as follows:

1. Set Processing State to Loading

2. Load XML Unit and Construct the Corresponding DOM

3. Process DOM Head Element

a. Include referenced style sheets into DOM

b. Include referenced time sheets into DOM

c. Process style sheets to create initial style sheet set

d. Process time sheets to create time sheet set

4. Process DOM Body Element

a. Include referenced body elements into DOM

b. If no time sheets set loaded, perform inline timing processing tocreate time sheet set

c. Process inline style attributes to update style sheet set

d. Process inline state attributes to update state property set

5. Load Images and Other External Resources Referenced from DOM

6. Create Style Processor with Style Sheet Set

a. Create style override block for each element in the DOM

7. Create Animation Processor with Time Sheet Set

a. Create animation override for each DOM element

b. Create interval set from time sheet set

8. Set Processing State to Interacting

During the loading, the DOM may be in an invalid state, no tick oranimation processing is carried out while in the Loading state. If afterprocessing the page and the final DOM is invalid, the behaviour of theapplication is not guaranteed and may terminate. Implementations mayoptimize the behaviour described above provided the final layout andbehaviour is equivalent to using this processing sequence.

“Presentation and Interaction of Markup page until navigation” is brokendown as follows:

On each tick the animation engine must behave as if it performed thefollowing algorithm:

1. Evaluate Script Handler Queue

a. Check for any updated script override blocks

2. Evaluate the Style Sheet Set to Update the Style Override Block forEach Element

3. Perform any interval activation band inactivation based on the tickclock values

a. Update each animation override block with values in active intervals

4. Perform Unresolved Time Interval Expression Evaluation

a. Update each animation override block with values in newly activeintervals

5. Determine Whether Steps Above Caused Computed Style Changes

a. If there were computed style changes, reformat and redraw document

6. Test Whether Application is in Foreground State Property Accordingly

Reformat and redraw creates an area tree as follows:

1. Start Recursive Descent From <body>

2. Construct the Appropriate Formatter for the Node

3. Determine the Computed Value of Display for the Node

a. If display=none, ignore node and its descendants

b. If display=none, format node recursively

4. Perform Computed Style Extraction

5. Format Code

6. Display area Tree After All Nodes have been Formatted

FIG. 104 shows the effective period APVAPE of an advanced application.To execute an advanced application ADAPL corresponding to the effectiveperiod APVAPE of an advanced application, it is necessary to set theadvanced application ADAPL in the execution state. Specifically, asshown in FIG. 56(d), auto run attribute information ATRNAT can bewritten in an application segment element APPLSG. In a case where theauto run attribute information ATRNAT is set to “true,” if the time onthe title timeline TMLE has reached the time specified by “the beginningtime TTSTTM on the title timeline” (titleTimeBegin attributeinformation), the advanced application ADAPL goes into the executionstate automatically. In a case where the auto run attribute informationATRNAT is set to “false,” even if the time on the title timeline TMLEhas reached the beginning time TTSTTM, the advanced application ADAPLdoes not go into the execution state. In this case, only when an APIcommand is used to change to the execution state, the correspondingadvanced application ADAPL goes into the execution state. The scriptSCRPT of FIG. 14 is not executed unless the application has reached theeffective time APVAPE. Accordingly, only when the time on the titletimeline TMLE has reached the “beginning time TTSTTM on the titletimeline” and auto run attribute information ATRNAT is “true,” a scriptSCRPT including a prescript can be executed. In the embodiment, theprocess of executing an advanced application is carried out according tothe following procedure:

1. Reproducing a Manifest File MNFST

2. Reproducing a Script File SCRPT

As shown in FIG. 81(a), a script element SCRELE can be written in themanifest MNFST. As shown in FIG. 81(c), from “the storage locationSRCSCR of a script file to be used first” (src attribute information) inthe script element SCRELE, the file name of the storage location (orpath) of a script file to be used first in the stage where the advancedapplication ADAPL is executed can be known. As described above, aplurality of script files SCRPT can be executed in the same advancedapplication ADAPL. Accordingly, the storage locations of script files tobe used from this point on are defined in a resource element RESELEshown in FIG. 81(a):

3. Executing a Script SCRPT

4. Repeating the Following Situations During the Effective Period APVAPEof an advanced Application

a. The first (or next) XML file is read. In the embodiment, the XML fileis analyzed at the parser PARSER (see FIG. 28) in the navigation managerNVMNG.

b. The advanced navigation file (markup files MRKUP and script filesSCRPT) are decoded. The decoding process is carried out by theprogramming engine PRGEN (see FIG. 28) in the advanced applicationmanager ADAMNG existing in the navigation manager NVMNG.

c. A specified markup page MRKUP is reproduced and displayed and, as forthe markup pages MRKUP, one markup page is transited to another. Thereproducing and displaying process of the specified markup page MRKUP iscarried out in the advanced application presentation engine AAPEN in thepresentation engine PRSEN as shown in FIG. 30.

5. A postscript is executed.

6. Various resource files needed for the advanced application ADAPL aredeleted from the data cache DTCCH. The process of deleting the resourcefiles from the data cache DTCCH is carried out by the file cache managerFLCMNG according to the instruction of the playlist manager PLMNG in thenavigation manager NVMNG as shown in FIG. 28.

In the embodiment, the following three types of clocks can be selectedas a reference clock in executing an advanced application ADAPL:

1) Medium Clock (Title Clock)

-   -   A clock which synchronizes with the time progress of the title        timeline TMLE and is tuned to the clock (frame clock) of the        title timeline

2) Application Clock

-   -   A clock which is shared in the same advanced application ADAPL        and synchronizes with the tick clock. In the embodiment, the        ratio of the tick clock frequency to the frame frequency used in        the title timeline TMLE is specified by “clockDivisor attribute        information” shown in FIG. 100.

3) Page Clock

-   -   A clock which is set for each markup page MRKUP and synchronizes        with the tick clock

The contents of the clock used in each markup MRKUP are ser by “clock”attribute information (see FIG. 100) in the timing element TIMGEL. Whenthe time progress PRTMPRG of FIG. 104 has reached “the beginning timeAPFMST of the advanced application and the first markup” and thereproducing and displaying of markup (first markup) MRKUP#0 are started,the setting value of the page clock and that of the application clockare both reset to “0.” In FIG. 104, when markup (first markup) MRKUP#0is transited to markup MRKUP#1, the value of the application clockremains unchanged without being affected by the transition. In contrast,the value of the page clock is reset to “0” each time one markup MRKUPis transited to another. As shown in FIG. 65, after the effective periodAPVAPE of the advanced application has expired, the resource filesrelated to the corresponding advanced application ADAPL are deleted fromthe file cache FLCCH (after the data has been deleted from the filecache, time N-EXST is set). However, even after the resource files havebeen deleted from the file cache FLCCH (after the data has been deletedfrom the file cache, time N-EXST is set), information on the scriptSCRPT remains in the file cache FLCCH until the execution of the eventhander (or API command) in the middle of processing (or in the pendingstate) has been completed. This period is called a “trailing eventperiod.”

<Relationship to Title Timeline>

Within the valid interval of the application each markup page has arelationship to the title clock as follows:

when transfer is controlled to a new Advanced Application markup page,that page is valid for the entire active interval of the application,thus elements within it that are synchronized to the Title Timeline areadjusted based on the current title time. The title clock is alwayscomputed as the current difference between the Title Timeline positionand the valid interval start time of the application.

In the effective period APVAPE of the advanced application shown in FIG.104, each markup page MRKUP has the relationship with the title clock(or medium clock) as follows. When the markup page MRKUP has beentransited to the markup page MRKUP of a new advanced application, thedisplay of the markup page MRKUP after the transition becomes effectivewithin the effective time of the advanced application. The display timeTELPPE of the timing element written in the markup MRKUP corresponds tothe time progress of the present title timeline TMLE.

When “title” is specified as the value of “clock attribute information”written in the timing element TIMGEL of FIG. 100, the reference clock ofthe markup page MRKUP defined in the timing element TIMGEL synchronizeswith the title clock (or media clock). In this case, from therelationship between the beginning time of the effective time APVAPE ofthe advanced application and the beginning time on the title timelineTMLE, the corresponding value of the title clock (or the correspondingvalue of the medium clock) is calculated and estimated, when theadvanced application ADAPL is in progress.

In contrast, when “page” or “application” is specified as the value of“clock attribute information” in the timing element TIMGEL of FIG. 100,the clock serving as a reference in the markup MRKUP determined in thetiming element TIMGEL is set as a page clock or an application clock. InFIG. 104, when the time progress PRMPRG has reached “the beginning timeAPFMST of the advanced application and the first markup,” the display ofthe markup MRKUP corresponding to the advanced application ADAPL isstarted and, at the same time, the values of the page clock andapplication clock are reset to “0” as described above. Immediately afterthat, the value of the application clock or page clock is added up (orcounted up) on the basis of the tick clock. The adding (or counting up)of the clock value continues until the application ADAPL or markup hasbeen completed. If the (active) markup page MRKUP shown to the user ischanged (or if the markup page MRKUP is transited), the markup clock isreset “0.” In the case of the application clock, the time progress keepsgoing on without being affected by the change of the markup page. In theembodiment, when the value of “clock attribute information” in thetiming element TIMGEL of FIG. 100 has been set to “page (page clock)” or“application (application clock),” the synchronization of each clockwith the title timeline TMLE collapses. Accordingly, for example, evenif the time progress of the title timeline TMLE is advanced for thefast-forward reproduction of main video MANVD, the page clock orapplication clock is not affected and therefore the markup MRKUP (e.g.,animation) of the advanced application can be caused to progress at aconventional speed, which makes it possible to provide the user with aflexible display of the advanced application ADAPL.

FIGS. 106A to 110B show tables listing the contents of API commandsdefined in the embodiment. As shown in FIG. 14, in an advancedapplication ADAPL of the embodiment, there are a markup MRKUP and ascript SCRPT. In the script SCRPT, combinations of API commands shownFIGS. 106A to 110B can be defined. The various API commands defined inFIGS. 106A to 110B of the embodiment and the relationship between themarkup MRKUP and script SCRPT shown in FIG. 14 will be explained usingFIG. 105.

As shown in FIG. 14, in the embodiment, a manifest MNFST belonging to anadvanced application ADAPL is referred to from the playlist PLLST. Then,from the manifest MNFST, a markup MRKUP and a script SCRPT are referredto. As shown in FIG. 56(a), in the playlist PLLST of the embodiment,object mapping information OBMAPI exists. As shown in FIG. 56(b), in theobject mapping information OBMAPI, an application segment element APPLSGcan be written. Moreover, as shown in FIG. 56(d), in the applicationsegment element APPLSG, “the storage location URIMNF of a manifest fileincluding initial setting information about an advanced application” canbe written. From the information, the storage location (or path) of amanifest file MNFST corresponding to the application segment elementAPPLSG and its file name are known. As shown in FIG. 81(a), in themanifest MNFST, there are a script element SCRELE and a markup elementMRKELE. As shown in FIG. 81(d), in the markup element MRKELE, thestorage location SRCMRK (src attribute information) of a markup file tobe used first is written. From the information, the storage location (orpath) of a markup MRKUP to be displayed first and its file name areknown. As shown in FIG. 81(c), in the script element SCRELE, the storagelocation SRCSCR (src attribute information) of a script file to be usedfirst is written. From the information, the storage location (or path)of a script file SCRPT to be displayed first and its file name areknown. The storage location (or path) of a script file SCRPT used secondand later, not first, and its file name, or the storage location (orpath) of a file of another markup MRKUP to which the markup MRKUPdisplayed first is transited during the execution of the same advancedapplication ADAPL and its file name, are written in the resource elementRESELE shown in FIG. 81(a).

The method of writing a markup MRKUP in the embodiment is characterizedin that a timing element TIMGEL is written in the head element HEADEL inthe root element ROOTEL as shown in FIG. 91(a), thereby forming a timesheet. The method is further characterized in that the timing elementTIMGEL exists in the head element HEADEL, a different area from the bodyelement BODYEL. In the timing vocabulary TIMVOC written in the timingelement TIMGEL, there is an event element EVNTEL as written in FIG.91(c) in the embodiment. As shown in 90(c), in an element (xmldescriptive sentence), not only can required attribute informationRQATRI and optional attribute information OPATRI be written, but alsocontent information CONTNT can be placed. In the embodiment, as shown inFIG. 100, “name” attribute information is written as required attributeinformation RQATRI in the event element EVNTEL. As shown in FIG. 105, in“name” attribute information, “name EVNTNM corresponding to anarbitrarily namable event” can be written. Moreover, as shown in FIG.100, there exists a param element PRMTEL as content information CONTNTwritable in the event element EVNTEL. In required attribute informationRQATRI in the param element PRMTEL, “name” attribute information iswritten. As optional attribute information OPATRI, “value” attributeinformation can be written. That is, the event element EVNTEL is anelement for generating an event handled by a script as shown in FIG.91(c). Moreover, the param element PRMTEL is an element to be used toset a parameter for an object element or an event element as shown inFIG. 91(d). As the param element PRMTEL, a parameter variable name(“name” attribute information) for setting a parameter and a value(“value” attribute information) set to the parameter variable name canbe set. Therefore, as shown in FIG. 105, from “name” attributeinformation in the param element PRMTEL, “arbitrarily settable parametervariable name PARMNM” can be set. In addition, from “value” attributeinformation, “value PARMVL to be set to the parameter variable name” canbe set. The event element EVNTEL and the parm element PRMTEL have therelationship described below. The event element EVNTEL causes an “event”to occur in the markup MRKUP. The “event” and a “function” executedaccording to the event (the contents of the function specified by“function name APIFNC defined by an API command” shown in FIG. 105) arehandled in a script SCRPT.

The param element PRMTEL sets “parameter variable name” related to the“event” and “the value to be set in the parameter variable name.” Asshown in FIG. 105, in the script SCRPT, a descriptive sentence APIFNCfor a function in an API command, an event listener descriptive sentenceEVTLSD, and a descriptive sentence MKUPLD for setting a markup loadprocess can be written. In the embodiment, in a descriptive sentenceMKUPLD for setting a markup and a load process in the script SCRPT,“setMarkupLoadedHandler (onLoad)” (see FIGS. 106A to 110B) is written,thereby setting not only a markup and a load process but also a callbackfunction for calling when the present markup page is loaded.Specifically, when the present markup page is loaded, “onLoad” is calledback. After the process of loading the markup has been set, the contentsof the event listener descriptive sentence EVTLSD are used. In theembodiment, the contents to be written in “{ }” written immediatelyafter “function onLoad(document)” is specified in the event listenerdescriptive sentence EVTLSD in the script SCRPT. That is,“document.addEventListener” is written in the “{ },” thereby defining anevent listener EVTLSN. In the event listener EVTLSN, “name EVNTNMcorresponding to an arbitrarily namable event” is set, which forms arelationship with “name EVNTNM corresponding to an arbitrarily namableevent” in the markup MRKUP as shown by broken line γ. In the eventlistener EVTLSN, “arbitrarily namable function name FUNCNM” is definedand further “true” is to be written. The event listener EVTLSN in theevent listener descriptive sentence EVTLSD is monitoring the occurrenceof an “event” defined in the event element EVNTEL in the markup MRKUP.In the script SCRPT, an “event” and a “function” in the script SCRPT arehandled (or a method of handling an “event” and a “function” is written)in such a manner that, if an “event” has occurred in the markup MRKUP,the various “functions” in the API commands defined in FIGS. 106A to110B are executed. As shown in FIG. 105, in the event listener EVTLSN,when an “event” corresponding to “name EVNTNM corresponding to anarbitrarily namable event” has occurred, the execution of “anarbitrarily namable function name FUNCMN” is specified. A descriptivesentence APIFNC of a function in an API command, a sentence for causinga function in the API command to be executed, is such that, immediatelyafter “function” is written first, “an arbitrarily namable function nameFUNCMN” is specified, and then, a “function” corresponding to “anarbitrarily namable function name FUNCMN” and a parameter variable usedthere and its parameter value are set in “{ }.” As the “function,” thevarious functions defined in the API command in the embodiment (or thecontents written in the column “Function name” in FIGS. 106A to 110B) ora combination of the functions are specified. The “arbitrarily namablefunction name FUNCMN” written in the descriptive sentence APIFNC of afunction in the API command coincides with the “arbitrarily namablefunction name FUNCMN” specified in the event listener EVTLSN in theevent listener descriptive sentence EVTLSD and has the correspondenceshown by the broken line δ. Specifically, in the event listener EVTLSNin the event listener descriptive sentence EVTLSD, a function nameFUNCNM is defined. The defined function name FUNCNM is quoted in adescriptive sentence APIFNC in the API command. As a concrete contentcorresponding to the “arbitrarily namable function name FUNCNM,” avariable name is defined immediately behind “var” in “{ }” placedimmediately behind FUNCNM. The variable name specifies “arbitrarilynamable parm element name PARMNM” and coincides with “arbitrarilynamable parameter variable name PARMNM” defined in the parm elementPRMTEL in the markup MRKUP, thereby forming the correspondence shown bythe broken line a. As the value set corresponding to the variable namejust behind “var,” “value PARMVL set to a parameter variable name” isspecified. The same value as that of “value PARMVL set to a parametervariable name” in the param element PRMTEL is specified for the “valuePARMVL set to a parameter variable name,” which forms the correspondenceshown by the broken line β. The contents of a “function” correspondingto “arbitrarily namable function name FUNCNM” defined in a descriptivesentence APIFNC in a function in an API command are such that, after anupper rank name APIPAS is written, any one of the names of the“functions” written in the column of “Function name” of FIGS. 106A to110B is specified. Then, in “( )” just behind that, the API parameterAPIPRM is written. Here, in the upper rank name APIPAS in which an APIcommand exists, API type names written in the column “API type” andobject names written in the column “object name” shown in FIGS. 106A to110B are written. For example, in FIGS. 106A to 110B, when “function” of“jumpOnChapter” is specified as Function name belonging to “Player API”as API type and belonging to “playlist object” as object name,“Player.playlist obtained by connecting API type and object name with aperiod (.) is written in a part of the upper rank name APIPAS in whichthe API command exists.” In this case, “jumpOnChapter” is written as thefunction name APIFNC defined in the API command. In the function nameAPIFNC defined in the API command, any one of the names of the“functions” written in the column “Function name” of FIGS. 106A to 110Bis specified. The embodiment is not limited to this. In the functionname APIFNC defined in the API command, a “function name defined in anECMA script determined by European Conference on Standardization ECMA”may be specified.

The relationship between the markup MRKUP/script SCRPT and API commandsin the embodiment explained above will be collectively described. Asdescribed in the lower part of FIG. 105, the contents of an eventhandled in the script SCRPT are defined using the event element EVNTELin the markup MRKUP. Next, the event listener EVTLSN in the script SCRPTis monitoring the occurrence of an event in the markup MRKUP. Then, whenan event has occurred in the markup MRKUP, the contents of the specifiedfunction defined in the API command to be executed are written in thescript SCRPT. The function at this time corresponds to the functiondefined by API in the embodiment shown in FIGS. 106A to 110B. That is,any one of the function names in “function name” shown in FIGS. 106A to110B is written in “the function name APIFNC defined in API command”written in the descriptive sentence APIFNC of the function in the APIcommand in the script SCRPT. In the embodiment, the number of (functionsof) API commands specified in the same script SCRPT is not limited toone and a combination of two or more (functions of) API command may beset.

FIGS. 106A to 110B show an overview list of various API commands definedin this embodiment. The advanced content playback unit ADVPL in theinformation recording and playback apparatus 1 of this embodiment hasthe internal structure shown in FIG. 14. Various function namesdescribed in a column “function name” shown in FIGS. 106A to 110B aredescribed in “function name APIFNC defined by API command” indescriptive sentences APIFNC of functions in API commands in the scriptSCRPT, as shown in FIG. 105.

An overview of various API commands will be described below using FIGS.106A to 110B. API types include a player API, data cache API,application API, and XMLAPI. Functions included in the player API willbe described first. A “selectVideoTrackNumber” function exists in atrack selection object, and has a function of setting a video tracknumber which is to undergo playback presentation. The“selectVideoTrackNumber” function has a setting parameter “main videotrack number”, but does not have any return value. FIG. 111 is aflowchart showing the contents of the “selectVideoTrackNumber”. A“selectAudioTrackNumber” function described next exists in the trackselection object, and has a function of designating an audio tracknumber. The “selectAudioTrackNumber” function has a setting parameter“main audio track number”, but does not have any return value. FIG. 112is a flowchart showing the contents of the “selectAudioTrackNumber”. A“selectAudioLanguage” function exists in the track selection object, andhas a function of specifying a main audio language code and changing amain audio track. The “selectAudioLanguage” function has settingparameters “language code” and “language code extension”, but does nothave any return value. FIG. 113 is a flowchart showing the contents ofthe “selectAudioLanguage”. The next “selectSubtitleTrackNumber” functionexists in the track selection object, and has a function of specifying asubtitle track number, and changing a presentation state. The“selectSubtitleTrackNumber” function has a setting parameter “subtitletrack number”, but does not have any return value. FIG. 112 is aflowchart showing the contents of the “selectSubtitleTrackNumber”. A“selectSubtitleLanguage” function exists in the track selection object,and has a function of specifying a subtitle language code, and changinga subtitle track. The “selectSubtitleLanguage” function has settingparameters “language code” and “language code extension”, but does nothave any return value. FIG. 113 is a flowchart showing the contents ofthe “selectSubtitleLanguage”. A “save” function exists in a bookmarkobject, and has a function of saving the current playback position andthe current playback state. The “save” function does not have anyparameter and return value. FIG. 114 is a flowchart showing the contentsof the “save”. A “jump” function described next exists in the bookmarkobject, and has a function of interrupting the current playback,restarting playback from the recorded (designated) position, andchanging the state of a bookmark (latest playback position informationwhich is kept periodically updated on a memory). The “jump” functiondoes not have any setting parameter and return value. FIG. 115 is aflowchart showing the contents of the “jump”. A “load” function existsin a playlist object, and has a function of changing a playlist andresetting a player. The “load” function has a setting parameter “URI(Uniform Resource Identifier)”, but does not have any return value. FIG.116 is a flowchart showing the contents of the “load”. The next“playplaylist” function exists in the playlist object, and has afunction of making playback at a standard speed. The “playplaylist”function does not have any setting parameter and return value. FIG. 117is a flowchart showing the contents of the “playPlaylist”. A “pause”function exists in the playlist object, and has a function of pausingthe current playback. The “pause” function does not have any settingparameter and return value. FIG. 118 is a flowchart showing the contentsof the “pause”. The next “stopPlaylist” function exists in the playlistobject, and has a function of stopping the processing of the advancedcontent playback unit. The “stopPlaylist” function does not have anysetting parameter and return value. The next “fastForward” functionexists in the playlist object, and has a function of making fastforwardplayback. The “fastForward” function has a setting parameter “playbackspeed”, but does not have any return value. FIG. 119 is a flowchartshowing the contents of the “fastForward”. A “fastReverse” functionexists in the playlist object, and has a function of making fastreverseplayback. The “fastReverse” function has a setting parameter “reverseplayback speed”, but does not have any return value. FIG. 119 is aflowchart showing the contents of the “fastReverse”. A “slowForward”function described next exists in the playlist object, and has afunction of making low-speed playback in the forward direction. The“slowForward” function has a setting parameter “playback speed”, butdoes not have any return value. A “slowReverse” function described nextexists in the playlist object, and has a function of making low-speedplayback in the reverse direction. The “slowReverse” function has asetting parameter “playback speed”, but does not have any return value.A “stepForward” function described next exists in the playlist object,and has a function of making step playback in the forward direction. The“stepForward” function does not have any setting parameter and returnvalue. FIG. 120 is a flowchart showing the contents of the“stepForward”. A “stepBackward” function described next exists in theplaylist object, and has a function of making step playback in thebackward direction. The “stepBackward” function does not have anysetting parameter and return value. FIG. 120 is a flowchart showing thecontents of the “stepBackward”. A “jumpInTitle” function exists in atitle object, and has a function of changing the playback time on atitle timeline in a single title. The “jumpInTitle” function has settingparameters “change time” and “bookmark”, but does not have any returnvalue. FIG. 121 is a flowchart showing the contents of the“jumpInTitle”. The next “jumpOnChapter” function exists in a chapterobject, and has a function of starting playback from the designated timein a single chapter. The “jumpOnChapter” function has setting parameters“playback start time” and “bookmark”, but does not have any returnvalue. FIG. 122 is a flowchart showing the contents of the“jumpOnChapter”. A “top” function described next exists in the chapterobject, and has a function of restarting playback from the top positionin the chapter. The “top” function does not have any setting parameterand return value. FIG. 123 is a flowchart showing the contents of the“top”. The next “getMediaAttribute” function exists in an audio trackobject, and has a function of acquiring a media attribute value of acorresponding track from a playlist. The “getMediaAttribute” functionhas setting parameters “time on title timeline” and “media attributename”, and a return value “designated media attribute value”. FIG. 124is a flowchart showing the contents of the “getMediaAttribute”. The next“capture” function exists in a main video object, and has a function ofsaving the current main video image in a file cache. The “capture”function has setting parameters “URI (Uniform Resource Identifier) ofvideo image file” and “callback function”, but does not have any returnvalue. FIGS. 126 and 127 are flowcharts showing the contents of the“capture”. A “changeImageSize” function exists in the main video object,and has a function of reducing the presentation size of an image filecaptured in a file cache. The “changeImageSize” function has settingparameters “URI (Uniform Resource Identifier) of source file”, “URI(Uniform Resource Identifier) of file after reduction”, “denominatorvalue and numerator value indicating reduction ratio”, and “callbackfunction”, but does not have any return value. FIGS. 128 and 129 areflowcharts showing the contents of the “changeImageSize”. The next“setOuterFrameColor” function exists in the main video object, and has afunction of changing the outer frame color of a main video. The“setOuterFrameColor” function has setting parameters “Y value”, “Crvalue”, and “Cb value”, but does not have any return value. FIG. 125 isa flowchart showing the contents of the “setOuterFrameColor”. A“changeLayoutMainVideo” function exists in the main video object, andhas a function of changing the layout of a main video. The“changeLayoutMainVideo” function has setting parameters (1) “canvasX-coordinate value of main video”, (2) “canvas Y-coordinate value ofmain video”, (3) “scaling size of main video”, (4) “cropX value of mainvideo”, (5) “cropY value of main video”, (6) “cropWidth value of mainvideo”, (7) “cropHeight value of main video”, and (8) “presentationperiod of cropped main video”, but does not have any return value. FIGS.130 and 131 are flowcharts showing the contents of the“changeLayoutMainVideo”. A “changeLayoutSubVideo” function exists in asub video object, and has a function of changing the layout of a subvideo. The “changeLayoutSubVideo” function has setting parameters (1)“canvas X-coordinate value of sub video”, (2) “canvas Y-coordinate valueof sub video”, (3) “scaling size of sub video”, (4) “cropX value of subvideo”, (5) “cropY value of sub video”, (6) “cropWidth value of subvideo”, (7) “cropHeight value of sub video”, and (8) “presentationperiod of cropped sub video”, but does not have any return value. FIGS.132 and 133 are flowcharts showing the contents of the“changeLayoutSubVideo”. The next “setVolume” function exists in a mainaudio object, and has a function of changing an audio volume value. The“setVolume” function has setting parameters (1) “volume value of leftspeaker”, (2) “volume value of right speaker”, (3) “volume value ofcenter speaker”, (4) “volume value of left surround speaker”, (5)“volume value of right surround speaker”, (6) “volume value of left rearspeaker”, (7) “volume value of right rear speaker”, and (8) “volumevalue of sub woofer”, but does not have any return value. FIG. 134 is aflowchart showing the contents of the “setVolume”. The next“setMixingSubAudio” function exists in a sub audio object, and has afunction of making downmix processing of sub audio channels. The“setMixingSubAudio” function has setting parameters (1) “downmix valueto left speaker”, (2) “downmix value to right speaker”, (3) “downmixvalue to center speaker”, (4) “downmix value to left surround speaker”,(5) “downmix value to right surround speaker”, (6) “downmix value ofleft rear speaker”, (7) “downmix value of right rear speaker”, and (8)“downmix value of sub woofer” of right and left sub audio channels, butdoes not have any return value. FIG. 135 is a flowchart showing thecontents of the “setMixingSubAudio”. The next “playEffectAudio” functionexists in an effect audio object, and has a function of making playbackpresentation of effect audio. The “playEffectAudio” function has settingparameters “URI (Uniform Resource Identifier) of effect audio file”,“playback repeat count of effect audio file”, and “callback function”,but does not have any return value. FIGS. 137 and 138 are flowchartsshowing the contents of the “playEffectAudio”. A “stopEffectAudio”function exists in the effect audio object, and has a function ofstopping playback presentation of effect audio. The “stopEffectAudio”function does not have any setting parameter and return value. FIG. 136is a flowchart showing the contents of the “stopEffectAudio”. The next“setMixingEffectAudio” function exists in the effect audio object, andhas a function of making downmix processing of effect audio channels.The “setMixingEffectAudio” function has setting values (1) “downmixvalue to left speaker”, (2) “downmix value to right speaker”, (3)“downmix value to center speaker”, (4) “downmix value to left surroundspeaker”, (5) “downmix value to right surround speaker”, (6) “downmixvalue of left rear speaker”, (7) “downmix value of right rear speaker”,and (8) “downmix value of sub woofer” of right and left effect audiochannels, but does not have any return value. The next“playStandardContentPlayer” function exists in a standard content playerobject, and has a function of changing the playback state from anadvanced content playback state to a standard content playback state.The “playStandardContentPlayer” function has a setting parameter “domainname of standard content”, but does not have any return value. FIG. 139is a flowchart showing the contents of the “playStandardContentPlayer”.A “playSecondaryVideoPlayer” function exists in a secondary video playerobject, and has a function of starting playback of a secondary videoplayer. The “playSecondaryVideoPlayer” function has setting parameters(1) “URI (Uniform Resource Identifier) of time map file”, (2) “timeuntil playback start of secondary video player”, (3) “offset time toplayback start position in secondary video set”, (4) “playback end timein secondary video set”, and (5) “callback function”, but does not haveany return value. FIGS. 140, 141, 142, and 143 are flowcharts showingthe contents of the “playSecondaryVideoPlayer”. A “pauseOn” functionexists in the secondary video player object, and has a function ofrestarting playback presentation of a secondary video set. The “pauseOn”function does not have any setting parameter and return value. FIG. 144is a flowchart showing the contents of the “pauseOn”. A “pauseOff”function exists in the secondary video player object, and has a functionof restarting playback presentation of a secondary video set from apaused state. The “pauseOff” function does not have any settingparameter and return value. FIG. 145 is a flowchart showing the contentsof the “pauseOff”. The next “stopSecondaryVideoPlayer” function existsin the secondary video player object, and has a function of stoppingplayback presentation of a secondary video set. The“stopSecondaryVideoPlayer” function does not have any setting parameterand return value. FIG. 146 is a flowchart showing the contents of the“stopSecondaryVideoPlayer”. A “getValue” function exists in a generalparameter object, and has a function of getting a general parametervalue designated by a specific key. The “getValue” function has asetting parameter “key information”, and a return value “generalparameter value corresponding to specific key”. FIG. 147 is a flowchartshowing the contents of the “getValue”. The next “setValue” functionexists in the general parameter object, and has a function of saving ageneral parameter value together with a specific key. The “setValue”function has setting parameters “key information” and “general parametervalue corresponding to specific key”, but does not have any returnvalue. FIG. 148 is a flowchart showing the contents of the “setValue”.

Next, functions included in the data cache API will be described below.A “getPriority” function exists in a data cache, and has a function ofacquiring the delete priority order of files in a file cache. The“getPriority” function has a setting parameter “URI (Uniform ResourceIdentifier)”, and a return value “delete priority order number”. FIG.149 is a flowchart showing the contents of the “getPriority”. The next“setPriority” function exists in the data cache, and has a function ofsetting the delete priority order of files in a file cache. The“setPriority” function has setting parameters “URI (Uniform ResourceIdentifier)” and “priority order number”, but does not have any returnvalue. FIG. 150 is a flowchart showing the contents of the“setPriority”.

Next, functions included in the application API will be described below.A “moveToTop” function exists in an application object, and has afunction of moving and presenting the current application to thefrontmost side. The “moveToTop” function does not have any settingparameter and return value. FIG. 151 is a flowchart showing the contentsof the “moveToTop”. A “moveToBottom” function exists in the applicationobject, and has a function of moving and presenting the currentapplication to the backmost side. The “moveToBottom” function does nothave any setting parameter and return value. FIG. 152 is a flowchartshowing the contents of the “moveToBottom”. A “link” function exists inthe application object, and has a function of replacing the currentlyactivated markup page by a linked markup page. The “link” function has asetting parameter “URI (Uniform Resource Identifier)”, but does not haveany return value. FIGS. 153 and 154 are flowcharts showing the contentsof the “link”. A “setMarkupLoadedHandler” function described next existsin the application object, and has a function of setting a callbackfunction to be called upon loading the current markup page. The“setMarkupLoadedHandler” function does not have any setting parameterand return value. An “activate” function exists in an advancedapplication object, and has a function of activating an application. The“activate” function does not have any setting parameter and returnvalue. FIG. 155 is a flowchart showing the contents of the “activate”.An “inactivate” function defined next exists in the advanced applicationobject, and has a function of inactivating an application. The“inactivate” function does not have any setting parameter and returnvalue. FIG. 156 is a flowchart showing the contents of the “inactivate”.A “moveBefore” function exists in the advanced application object, andhas a function of moving and presenting the designated application to aposition immediately before a target application. The “moveBefore”function has a setting parameter “Z-order value of target application”,but does not have any return value. FIG. 157 is a flowchart showing thecontents of the “moveBefore”. The next “moveAfter” function exists inthe advanced application object, and has a function of moving andpresenting the designated application to a position immediately after atarget application. The “moveAfter” function has a setting parameter“Z-order value of target application”, but does not have any returnvalue. FIG. 158 is a flowchart showing the contents of the “moveAfter”.

Finally, functions included in the XMLAPI will be described below. A“parse” function exists in an XML parser object, and has a function ofloading an XML document and parsing its contents. The “parse” functionhas setting parameters “URI (Uniform Resource Identifier)” and “callbackfunction”, but does not have any return value. FIGS. 159, 160A, and 160Bare flowcharts showing the contents of the “parse”. Furthermore, a“parseString” function exists in the XML parser object, and has afunction of parsing specific data as an XML document. The “parseString”function has a setting parameter “designation information of data to beparsed”, but does not have any return value.

This embodiment is characterized in that various API commands shown inFIGS. 106A to 110B are set to allow more systematic and efficientprocessing in the advanced content playback unit ADVPL. There are twodifferent use methods of the API commands in this embodiment: a methodof using the commands in interface (exchange) among parts in theadvanced content playback unit ADVPL in FIG. 14, and a method ofdescribing the commands in the script SCRPT. When the API commands areused as the script SCRPT, the functions shown in FIGS. 106A to 110B areactivated by designating various function names shown in FIGS. 106A to110B in the script file SCRPT, as shown in FIG. 12. The processingprocedures of “selectVideoTrackNumber” to “SelectSubtitleLanguage” shownin FIGS. 106A to 110B will be described below using FIGS. 111 to 113. Asthe method of using various API commands (functions) shown in FIGS. 111to 113 in exchange among parts in the advanced content playback unitADVPL shown in FIG. 14, they can be used as:

1. commands which are issued from the user interface engine UIENG shownin FIG. 28 to the presentation engine PRSEN;

2. commands which are issued from the playlist manager PLMNG in FIG. 28to the presentation engine PRSEN based on the contents described in theplaylist PLLST;

3. commands used in internal processing based on the contents describedin the playlist PLLST in the playlist manager PLMNG shown in FIG. 28;and the like.

The invention is not limited to the above embodiment. As anotherapplication example, the ECMA script processor ECMASP in the advancedapplication manager ADAMNG shown in FIG. 44 may execute, as a main body,processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

FIG. 111 shows the procedure associated with the function processing of“selectVideoTrackNumber” described first in FIGS. 106A and 106B, and isused as processing for setting the track number of a video which is toundergo playback presentation. FIG. 112 shows the processing procedurefor activating the “selectAudioTrackNumber” function or“selectSubtitleTrackNumber” function described in the second or fourthcolumn in FIGS. 106A and 106B, so as to execute processing for changingthe audio or subtitle track number. FIG. 113 shows the processingprocedure which corresponds to the “selectAudioTrackNumber” function or“selectSubtitleLanguage” function described in the third or fifth columnin FIGS. 106A and 10GB, and executes processing for specifying a mainaudio or subtitle language code, and changing a main audio or subtitletrack.

<Function properties>

selectVideoTrackNumber

The selectVideoTrackNumber function is used to specify the track numberof Video.

Parameters:

track of type unsigned int

-   -   Specifies the track number of the Main Video.    -   Valid Range: 1-99

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether the assigned argument track is within valid range.

If the assigned argument track is within available Main Video tracknumbers:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw

HDDVD_E_ARGUMENT.

3) Assign the argument track to the selectedVideoTrackNumber property.

4) Set the currentVideoTrackNumber property. For selection algorithm.

5) Check whether this object is member of the Player object.

If this object is member of the Player object:

-   -   6) Change the presentation of Main Video with the selected track        number and return.

Otherwise

-   -   6) Return.

FIG. 111 shows the function contents of “selectVideoTrackNumber” as anAPI command. The “selectVideoTrackNumber” is an API command for settingthe track number of a video which is to undergo playback presentation,and is basically the one which is issued from the navigation managerNVMNG in the advanced content playback unit ADVPL to the presentationengine PRSEN, as shown in FIG. 14. Alternatively, the API command may bedescribed as function contents in the script SCRPT shown in FIG. 14, anevent may be generated based on the event element EVNTEL (see FIG. 91C)in the markup MRKUP shown in FIG. 14, and an event listener may detectgeneration of the event in the script SCRPT shown in FIG. 14 based onthe event, thus activating the “selectVideoTrackNumber” function. Uponstarting API command processing in ST111-1 a, it is checked if thedesignated track number falls within a significant range (ST111-2 a ).If it is determined that the designated track number falls outside thesignificant range, an error message is output in ST111-4 a, and theprocess advances to end processing (ST111-8 a ). If the designated tracknumber falls within the significant range, it is set as a video tracknumber to be selected for playback in ST111-3 a. Next, the designatedtrack number is set in the current video track number property inST111-5 a. After that, it is checked in ST111-6 a if a targetpresentation playback object can be played back by the advanced contentplayback unit ADVPL. If the target presentation playback object cannotbe played back by the advanced content playback unit ADVPL, the processjumps to the end processing (ST111-8 a ); otherwise, the playbackpresentation of a main video MANVD is changed to the selected tracknumber (ST111-7 a ). After the playback presentation of the main videoMANVD is changed to the selected track number in ST111-7 a, the“selectVideoTrackNumber” function processing ends (ST111-8 a).

<selectAudioTrackNumber>

selectAudioTrackNumber

The selectAudioTrackNumber is used to specify the track number of Audioin current title. This function change not only selected track numberbut also selected language code and this extension.

Parameters:

track of type unsigned hit

-   -   Specifies the track number of the Main Audio.    -   Valid Range: 1-99

Return Value: None

Exceptions:

-   -   HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether the assigned argument buck is within valid tracknumbers for Audio Track.

If it is valid:

-   -   2) Go to step 3).

Otherwise:

-   -   2) Stop this sequence and throw HDDVD_E_ARGUMENT.

3) Assign the argument track to the selectedAudioTrack property.

4) Get referenceTitle.audioTracks[tmck]languageCode.

If returned value is not “*”:

-   -   5) Assign the returned value to the selectedAudioLanguageCode        property.

Otherwise:

-   -   5) Go to 6).

6) Get refetenceTitle.audioTracks[track]languageCodeExtension.

If returned value is not NAN:

7) Assign the returned value to the selectedAudioLanguageCodeExtensionproperty.

Otherwise:

-   -   7) Go to 8).

8) Set the currentAudioTrack property. For selection algorithm, refer to4.3.19.4.2 The rule of selection of Audio and Subtitle in AdvancedContents.

9) Check whether this object is member of the Player object.

<selectSubtitleTrackNumber>

selectSubtitleTrackNumber

The selectSubtitleTrackNumber function is-used to specify the tracknumber of Subtitle, and change presentation.

Parameters:

-   -   track of type unsigned int    -   Specifies the track number of Subtitle.    -   Valid Range: 1-99

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detail behavior is same as selectAudioTrackNumber function except thatthis function control Subtitle track instead of Audio track.

FIG. 112 shows the function contents of “selectAudioTrackNumber” and“selectSubtitleTrackNumber” as API commands. The“selectAudioTrackNumber” is an API command that designates the tracknumber of an audio track, and the “selectSubtitleTrackNumber” means anAPI command which specifies a subtitle track number to change thepresentation state. These API commands are normally used as those whichare issued from the navigation manager NVMNG in the advanced contentplayback unit ADVPL shown in FIG. 14 to the presentation engine PRSEN.However, the invention is not limited to this. For example, a namecorresponding to an event may be generated in the event element EVNTEL(see FIG. 91C) in the markup MRKUP, as shown in FIG. 14, and an eventlistener detects the name corresponding to that event in the scriptSCRPT shown in FIG. 14, thus activating the “selectAudioTrackNumber” or“selectSubtitleTrackNumber” function. Alternatively, in this embodiment,the API command may be generated in the navigation manager NVMNG inresponse to a user interface event UIEVT issued by the user interfaceengine UIENG based on a user operation UOPE, as shown in FIG. 28. Uponstarting the API command processing of the “selectAudioTrackNumber” or“selectSubtitleTrackNumber” in ST112-1 b, it is checked if thedesignated track number falls within the valid track number range on anaudio track or subtitle track (ST112-2 b ). If the designated tracknumber falls outside the valid track number range, an error message isoutput (ST112-4 b ), and the API processing ends (ST112-12 b ). If it isdetermined in ST112-2 b that the designated track number falls withinthe valid track number range on the audio track or subtitle track, thedesignated track number is set as the audio track or subtitle track tobe selected for playback in the playlist manager PLMNG in ST112-3 b. Itis checked in ST112-5 b with reference to title information if thelanguage code information of the corresponding audio track or subtitletrack matches “selectedAudioLanguage” or “selectedSubtitleLanguage”(ST112-5 b ). If the language code information of the correspondingaudio track or subtitle track does not match, the language codeinformation of the audio track or subtitle track is set in“selectedAudioLanguage” or “selectedSubtitleLanguage” (see FIG. 48) inST112-6 b. As shown in FIG. 14, the navigation manager NVMNG in theadvanced content playback unit ADVPL includes a temporary saving memory,which temporarily stores various parameters. These parameters includepresentation parameters as those which correspond to playbackpresentation, and the presentation parameters with the contents shown inFIG. 48 are stored. The “selectedAudioLanguage” parameter and“selectedSubtitleLanguage” parameter shown in FIG. 48 are mainly used bythe playlist manager PLMNG. As the presentation parameter value, thecorresponding presentation parameter value is set in ST112-6 b. If thelanguage code information to be referred to of the audio track orsubtitle track matches “selectedAudioLanguage” or“selectedSubtitleLanguage”, the process advances to ST112-7 b. That is,the playlist manager PLMNG in the navigation manager NVMNG refers totitle information in the playlist PLLST if the language code informationof the audio track or subtitle track matches“selectedAudioLanguageExtension” or “selectedSubtitleLanguageExtension”(see FIG. 48) as an extension field of the language of the correspondingaudio track or subtitle track. If the language code information does notmatch, the language code information of the audio track or subtitletrack is set in “selectedAudioLanguageExtension” or“selectedSubtitleLanguageExtension” (see FIG. 48) (ST112-8 b ). On theother hand, if the language code information matches, the current audiotrack property or subtitle track property is set to be the designatedvalue in ST112-9 b. It is checked in ST112-10 b if a playbackpresentation object can be played back by the advanced content playbackunit ADVPL. If the object cannot be played back, the process advances tothe API command end processing (ST112-12 b ); otherwise, the audio orsubtitle to be played back is changed to the designated track number(ST112-11 b). After the track number is changed, the“selectAudioTrackNumber” or “selectSubtitleTrackNumber” function ends(ST112-12 b ). FIG. 113 shows the function contents of“selectAudioLanguage” or “selectSubtitleLanguage” as an API command. TheAPI command “selectAudioLanguage” specifies the language code of a mainaudio, and changes a main audio track. Also, the API command“selectSubtitleLanguage” specifies the language code of a subtitle andchanges a subtitle track.

<selectAudioLanguage>

selectAudioLanguage

The selectAudioLanguage is used to specify the Language Code for MainAudio, and change Main Audio track.

Parameters:

languageCode of type String

-   -   Specifies the preferable Language Code for Main Audio.

languageExtension of type unsigned int

-   -   Specifies the preferable Language Code extension for the Main        Audio.    -   Valid Range: 00h-FFh

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether the assigned arguments language and Ian guage Extensionare valid.

If both they are valid:

-   -   2) Go to step 3).

Otherwise:

-   -   2) Stop this sequence and throw HDDVD_E_ARGUMENT.

3) Assign the argument languageCode to the selectedAudioLanguageproperty.

4) Assign the argument languageExtension to theselectedAudioLanguageExtension property.

5) Set the currentAudioTrack property. The rule of selection of Audioand Subtitle in Advanced Contents.

6) Check whether this object is member of the Player object.

If this object is member of the Player object:

-   -   7) Change Audio presentation with selected track number and        return.

Otherwise

-   -   7) Return.

<selectSubtitleLanguage>

selectSubtitleLanguage

The selectSubtitleLanguage function is used to specify the Language Codeof Subtitle, and change Subtitle track.

Parameters:

languageCode of type String

-   -   Specifies the preferable Language Code for Subtitle.        languageCodeExtension of type unsigned int    -   Specifies the preferable Language Code extension for Subtitle.    -   Valid Range: 00h-FFh

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detail behavior is same as selectAudioLanguage function except that thisfunction controls Subtitle track instead of Audio track.

Upon starting the processing of the “selectAudioLanguage” or“selectSubtitleLanguage” function as the API command (ST113-1 c), it ischecked in ST113-2 c if the designated language information andextension field are valid. If the designated language information andextension field are invalid, an error message is output (ST113-4 c ),and the processing of the function ends (ST113-9 c ). If the designatedlanguage information and extension field are valid, the designatedlanguage code is set in “selectedAudioLanguage” or“selectedSubtitleLanguage” as the presentation parameter used by theplaylist manager PLMNG shown in FIG. 48 in ST113-3 c. Next, in ST113-5c, information of the designated language extension field is set in“selectedAudioLanguageExtension” or “selectedSubtitleLanguageExtension”as the presentation parameter shown in FIG. 48. In ST113-6 c, thecurrent audio track property or subtitle track property is set accordingto the designated value. After that, it is checked in ST113-7 c if atarget playback presentation object can be played back by the advancedcontent playback unit ADVPL. If the object cannot be played back, theprocess advances to the function end processing. On the other hand, ifthe object can be played back, the audio or subtitle which is to undergoplayback presentation is changed to the designated track (ST113-8 c ),and the process then advances to the end processing (ST113-9 c ) of thecorresponding function.

FIG. 114 shows the contents of the “save” function as one type of APIcommands. As shown in FIG. 14, the advanced content playback unit ADVPLincludes the navigation manager NVMNG. The navigation manager NVMNGincludes a temporary saving memory area. A field that describesinformation corresponding to a bookmark (to be described later) isassured in he temporary saving memory area, and the processing forsaving parameters used in playback presentation as the bookmarkcorresponds to the “save” function shown in FIG. 114. That is, the“save” function as the API command has a function of saving the currentplayback position and the current playback state. The “save” function isbasically used as an API command issued inside the navigation managerNVMNG in many cases. There are two main situations in which the “save”function is used.

1. When the user instructs to record in a bookmark based on a useroperation UOPE, an event designated by the user in the user interfaceengine UIENG is detected, and is issued as a user interface event UIEVT,as shown in FIG. 28. Based on this event, processing is executed in theplaylist manager PLMNG.

2. The “save” function is used when the API command is periodicallyissued in the navigation manager NVMNG, and internal processing isexecuted. That is, the processing of the advanced content playback unitADVPL is often interrupted during playback of the advanced content ADVCTby user processing or some accident. In this case, the latest playbacklocation is periodically updated in the temporary saving memory area inthe navigation manager NVMNG during playback of the advanced contentADVCT, so that when the processing of the advanced content playback unitADVPL is restarted, playback of the advanced content ADVCT can berestarted from the interrupted position.

The invention is not limited to the above embodiment. As anotherapplication example, the ECMA script processor ECMASP in the advancedapplication manager ADAMNG shown in FIG. 44 may execute, as a main body,processing based on the following sequence;

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<Save>

The save function saves the current presentation position and selectedtrack information.

Parameters: None

Return Value: None

Exceptions: None

Detailed processing is as follows:

1) Hold Title Timeline.

2) Copy presentation parameters to Bookmark object.

-   -   Copy the track property of the Player object to the track        property    -   Copy the currentTitle property of the Playlist object to the        title property    -   Copy Player.playlist.currentTitle.elapsedTime to the elapsedTime        property

3) Restart Title Timeline.

In the advanced content playback unit ADVPL of this embodiment, the“save” function is mainly used in process 2. The practical contents ofthe “save” function will be described below. Upon starting the APIcommand processing (ST114-1 a), the time progress of a title timelineTMLE is paused (ST114-2 a ). Next, parameters used in playbackpresentation are copied to a bookmark in ST114-3 a. At this time, thecontents to be copied to the bookmark are as follows.

-   -   The track property (various kinds of track number information)        played back by the advanced content playback unit ADVPL is        copied as track attribute information.    -   The title property (title number) which is being currently        played back in the playlist PLLST is recorded as a title        property.    -   The playlist PLLST includes title information TTINFO, as shown        in FIG. 62B. When one playlist PLLST includes a plurality of        titles, title element information TTELEM for each title is        described in the title information TTINFO. The description order        of a plurality of pieces of title element information TTELEM        described in the title information TTINFO corresponds to the        title number.    -   The progress time information on the title timeline TMLE in the        title which is being played back is recorded as a time property.

Upon completion of copying of various kinds of information to thebookmark in ST114-3 a, the time process of the title timeline TMLE isrestarted in ST114-4 a, and the processing of the “save” function ends(ST114-5 a). FIG. 115 is a flowchart of the “jump” function as an APIcommand. The “jump” function executes processing for interrupting thecurrent playback, and restarting playback from the recorded (designated)position, and also processing for changing the state of the bookmark(latest playback position information which is kept periodically updatedon a memory). As described in process 2 as the use method of the “save”function, the latest playback position information is periodically andrepetitively updated on the memory as a bookmark in this embodiment. Inthe “jump” function shown in FIG. 115, the update processing of thelatest playback position information as a bookmark is executed in stepST115-3 b. The “jump” function is mainly used in the following cases.

1. The user interface engine UIENG in the navigation manager NVMNG shownin FIG. 28 generates a corresponding user interface event UIEVT inresponse to a user operation UOPE, and the “jump” function is generatedin the navigation manager NVMNG based on that event.

2. The “jump” function is generated in the navigation manager NVMNG toexecute internal processing.

3. An event as a trigger to generate the “jump” function is generated inthe event element EVNTEL (see FIG. 91C) in the markup MRKUP shown inFIG. 14, and the “jump” function is defined and executed in the scriptSCRPT after the event listener in the script SCRPT shown in FIG. 14detects the event as the trigger.

<jump>

The jump function stops the current presentation, initiates playbackfrom the recorded position, and change status to bookmarked one. Abookmark is set when the following Script APIs are called.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the capturing property of the MainVideo object, the changingproperty of the MainVideo object and the changing property of theSubVideo object.

If all properties are “false”:

-   -   2)Go to step 3).

Otherwise:

-   -   2) Throw HDDVD_E_INVALIDCALL and return immediately.

3) Copy presentation parameters from Bookmarked object.

-   -   Copy the track property to the track property of the Player        object.

4) Call title. Jump (elapsedTime, false);

When exception is thrown from this function call, Player shall not catchit and shall throw it to caller.

The contents of the “jump” function will be described below. Uponstarting the API command processing in ST115-1 b, it is checked if thecapturing property of a main video MANVD and sub video SUBVD is otherthan “capturing” and the changing property is other than “changing”(ST115-2 b ). If the capturing property is “capturing” or the changingproperty is “changing”, an error message is output in ST115-4 b, and theprocessing of the “jump” function ends (ST115-6 b ). In this embodiment,if the capturing property is “capturing” or the changing property is“changing”, activation of the “jump” function is inhibited. If thecapturing property of the main video MANVD and sub video SUBVD is otherthan “capturing” and the changing property is other than “changing”,copy processing of playback presentation parameters from the bookmark isexecuted in ST115-3 b. More specifically, the track property indicatingthe track numbers and the like is copied to that in the advanced contentplayback unit ADVPL. Next, “jumpInTitle” shown in FIG. 121 is called(ST115-5 b ), and upon completion of the “jumpInTitle” processing, theAPI command processing ends (ST115-6 b ).

FIG. 116 is a flowchart showing the contents of the “load” function asan API command. The “load” function is used when the playlist is changedto reset the player. The update processing of the playlist file PLLST ofthe playlist has already been described using FIG. 51. During theprocessing in FIG. 51, the “load” function as the API command is used.The “load” function is mainly issued inside the navigation manager NVMNGshown in FIG. 28. However, this embodiment is not limited to this. In arare case, the API command may be issued by designation from the user.That is, when the user instructs to change the playlist by a useroperation UOPE, this instruction is coped with inside the navigationmanager NVMNG, the user interface engine UIENG issues a user request asthe user interface event UIEVT, and the API command is generated in thenavigation manager NVMNG in response to that request, as shown in FIG.28. The invention is not limited to the embodiment. As anotherapplication example, the ECMA script processor ECMASP in the advancedapplication manager ADAMNG shown in FIG. 44 may execute, as a main body,processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<Load>

The load function is used to change Playlist and reset Player.

Parameters:

uri of type String

Specifies the full URI including the file name of new Playlist file.This parameter shall follow URI rule. Referencing

Return Value: None

Exceptions:

HDDVD_E_FILENOTFOUND

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether the assigned argument uri is valid or not. “valid”means uri is right format.

If it is valid:

-   -   2) Go to step 3)

Otherwise:

-   -   2) Throw HDDVD_E_ARGUMENT and return immediately.

3) Check whether the file specified by uri exists.

If the file exists:

-   -   4) Go to step 5)

Otherwise:

-   -   4) Throw HDDVD_E_FILENOTFOUND and return immediately.

5) Soft Reset Player with the new Playlist file.

The flowchart of the “load” function will be described below using FIG.116. Upon starting the API command processing (ST116-1 a), it is checkedin ST116-2 a if the designated URI parameter has a correct format. Ifthe designated URI parameter does not have a correct format, an errormessage is output in ST116-5 a, and the end processing of the “load”function is then executed (ST116-6 a ). If it is determined in ST116-2 athat the designated URI parameter has a correct format, it is checked inST116-3 a if a file designated by the URI actually exists. If there isno file at the location designated by the URI, an error message isoutput (ST116-5 a ), and the processing ends (ST116-6 a ). If the filedesignated by the URI actually exists, software in the advanced contentplayback unit ADV is reset by a new playlist file in ST116-4 a. Uponcompletion of this processing, the “load” function end processing isexecuted. In step ST116-3 a of checking if the file designated by theURI exists, the navigation manager NVMNG in the advanced contentplayback unit ADVPL shown in FIG. 14 controls the data access managerDAMNG to inquire of the advanced content playback unit as to thepresence/absence of each file. As a result, if the file exists, the dataaccess manager DAMNG sends back a return value indicating the presenceof the file to the navigation manager NVMNG. After that, the navigationmanager NVMNG controls the data access manager DAMNG to execute downloadprocessing of a new playlist file PLLST from the recording locationwhere the new playlist file PLLST exists to the data cache DTCCH via thedata access manager DAMNG. This transfer processing corresponds to thedownload processing of the playlist file PLLST in ST69 in FIG. 51. Thesoftware reset processing in the advanced content playback unit ADVPL inST116-4 a in FIG. 116 corresponds to occurrence of the software resetprocessing in ST72 in FIG. 51. FIG. 117 is a flowchart corresponding tothe 'playPlaylist” function as an API command. The procedure contents ofthe “playPlaylist” function as an API command shown in FIG. 117 will bedescribed below.

<Play>

The play function is to forward playback at 1x-speed for the purpose ofthe return from trick play, such as Fast Forward, Fast Reverse, and soon.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the capturing property of the MainVideo object.

If the capturing property of the MainVideo object is “true”:

2) Throw HDDVD_E_INVALIDCALL and return immediately.

Otherwise:

-   -   2) Go to step 3).

3) Assign the PLAYSTATE_PLAY property to the playState property.

4) Assign NaN to the playSpeed property.

5) Change time progress speed of Title Timeline to normal speed, andplayback direction to forward.

In this embodiment, if the capturing property of the main video MANVD isin a “capturing” mode, playback of the playlist is inhibited. In thisway, simultaneous occurrence of capturing and playback of the main videoMANVD is presented, and stable processing in the advanced contentplayback unit ADVPL is guaranteed. More specifically, upon starting theAPI command processing in ST117-1 b, it is checked in ST117-2 b if thecapturing property of the main video MANVD is “capturing”. If thecapturing property of the main video MANVD is in a “capturing” mode, anerror message is output (ST117-4 a ), as described above, and the“playPlaylist” function ends immediately (ST117-7 b ). If the capturingproperty of the main video MANVD is not “capturing”, “PLAYSTATE_PLAY”(representing that playback is underway) is set in a “playState”property (ST117-3 b ). After that, a playback speed is set in ST117-5 b.That is, “NaN” representing the playback speed is set in a “playSpeed”property. At this time, a standard speed is set as the playback speed tobe set in the “playSpeed” property. In ST117-6 b, the time progress ofthe title timeline TMLE is set to be “standard playback”, thus startingplayback of the main video MANVD. Also, in ST117-6 b, the time progressdirection of the title timeline TMLE (playback direction of the mainvideo MANVD) is set to be the forward direction (feed direction). Afterthat, upon completion of playback of the playlist, the end processing isexecuted in ST117-7 b. Next, FIG. 118 is a flowchart of the “pause”function of the API commands. The “pause” function is used to pause thecurrent playback, and is an API command which is issued from thenavigation manager NVMNG (the playlist manager PLMNG in it) in FIG. 28to the presentation engine PRSEN. The trigger of the “pause” functionissued from the navigation manager NVMNG to the presentation enginePRSEN is created by one of methods of:

1. responding to a user operation UOPE; and

2. setting this function in the markup MRKUP and script SCRPT, andgenerating it based on their contents.

In case of method 1, the user interface engine UIENG generates a pauserequest from the user as a user interface event UIEVT based on the useroperation UOPE. As shown in FIG. 44, the programming engine PRGENincluded in the advanced application manager ADAMG in the navigationmanager NVMNG generates the “pause” function in response to the userinterface event UIEVT. In case of method 2, the event element EVNTEL(FIG. 91C) in the markup MRKUP shown in FIG. 14 generates an eventcorresponding to a pause request, and generation of the event isdetected by the event listener in the script SCRPT shown in FIG. 14.After that, the “pause” function is launched, and playback pauseprocessing is executed. The contents of the flowchart of the “pause”function shown in FIG. 118 will be described below.

<Pause>

The pause function suspends the current presentation (the progress ofTitle Timeline).

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the changing property of the MainVideo object.

If it is “false”:

2) Go to step 3).

Otherwise:

2) Throw HDDVD E INVALIDCALL and return immediately.

3) Check the changing property of the SubVideo object and Sub Video issynchronized to Title Timeline.

If it is “false”, or Sub Video is not synchronized:

4) Go to step 5).

Otherwise:

4) Throw HDDVD_E_INVALIDCALL and return immediately.

5) Hold the progress of Title Timeline.

6) Assign the PLAYSTATE PAUSE property to the playState property.

In this embodiment, the pause processing is inhibited:

1. when the contents of the main video MANVD are being changed; and

2. when the contents of the sub video SUBVD are being changed.

However, in this embodiment, when the contents of the sub video SUBVDare being changed, if the sub video SUBVD is not synchronized with themain video MANVD, the pause processing can be executed. Therefore, thesedetermination processes are executed first. That is, upon starting theAPI command processing in ST118-1 c, it is checked in ST118-2 c if thechanging property of the main video MANVD is not “changing”. If thechanging property of the main video MANVD is “changing”, an errormessage is output in ST118-5 c, and the “pause” function ends (ST118-7 c). Next, if the main video MANVD is not being changed (i.e., if changingproperty of the main video MANVD is not “changing”), the status of thesub video SUBVD is checked in ST118-3 c. That is, it is checked if thechanging property of the sub video SUBVD is not “changing”, or if thesub video SUBVD is not presented in synchronism with the title timelineTMLE (i.e., the main video MANVD). If the changing property of the subvideo SUBVD is not “changing”, or if the sub video SUBVD is notsynchronously presented, the time progress of the title timeline TMLE ispaused (ST118-4 c ). If the above condition is not satisfied, an errormessage is output in ST118-5 c, and the processing of the “pause”function ends (ST118-7 c ), as described above. If the time progress ofthe title timeline TMLE is stopped in ST118-4 c, “PLAYSTATE_PAUSE” thatmeans a pause state is set in the “playState” property (ST118-6 c ), andthe “pause” function then ends (ST118-7 c ).

FIG. 119 is a flowchart showing the contents of the “fastForward”function or “fastReverse” function as an API command used in thisembodiment. FIG. 120 is a flowchart showing the contents of the“stepForward” function or “stepBackward” function used in an API commandof this embodiment. The “fastForward” and “fastReverse” function shownin FIG. 119 represents a fastforward or fastreverse play mode of a videopicture, and the “stepForward” or “stepBackward” shown in FIG. 120represents a step play mode. These functions mean the contents changesin playback method of a moving image (video picture). The API commandsshown in FIGS. 119 and 120 execute the following processes.

1. Issue API command toward presentation engine PRSEN

-   -   By using the API command from the navigation manager NVMNG to        the presentation engine PRSEN, as shown in FIG. 14, the        presentation processing method in the presentation engine PRSEN        is changed.

2. Processing data transfer method of advanced content ADVCT towardpresentation engine PRSEN

-   -   When the presentation engine PRSEN performs special playback for        the advanced content ADVCT, the data transfer method of the        advanced content ADVCT data input to the presentation engine        PRSEN need be changed accordingly. A location to which the API        command is to be issued varies depending on the saving locations        of the advanced content ADVCT, which are used immediately before        playback of the advanced content ADVCT.

2.1 Control for information storage medium DISC or persistent storagePRSTR

-   -   When data is played back from the advanced content ADVCT saved        in the information storage medium DISC or persistent storage        PRSTR, and undergoes presentation processing by the presentation        engine PRSEN, the API command is issued from the navigation        manager NVMNG to the data access manager DAMNG. The data access        manager DAMNG performs corresponding control for the information        storage medium DISC or persistent storage PRSTR in response to        the API command.

2.2 Control of data transfer from data cache DTCCH to presentationengine PRSEN

-   -   When advanced content ADVCT temporarily saved in the data cache        DTCCH is transferred to the presentation engine PRSEN, and        undergoes presentation processing in the presentation engine        PRSEN, the API command is issued from the navigation manager        NVMNG toward the data cache DTCCH. The data cache DTCCH        appropriately transfers required advanced content ADVCT data        toward the presentation engine PRSEN at the required timing in        response to that APT command.

The generation timing of the API command shown in FIG. 119 or 120 willbe described below.

A) Issue API command in response to user input

-   -   When the user wants to make a fastforward or fastreverse play,        or step play during playback presentation of the advanced        content ADVCT, he or she often issues a fastforward or        fastreverse processing instruction, or step processing        instruction using a remote controller or the like toward the        information recording and playback apparatus 1 shown in FIG. 15.        In such case, a user operation UOPE is generated toward the        advanced content playback unit ADVPL, as shown in FIG. 14. In        this case, a user interface event UIEVT is transferred into the        advanced application manager ADAMNG in the navigation manager        NVMNG via the user interface engine UIENG, as shown in FIG. 44.        The advanced application manager ADAMNG issues the API command        shown in FIG. 119 or 120 toward the presentation engine PRSEN or        playlist manager PLMNG.

B) Systematic processing in advanced content playback unit ADVPL

-   -   The navigation manager NVMNG issues the API command in FIG. 119        or 120 based on the contents defined in the playlist PLLST or a        call by the API command as needed.

C) Issue API command according to contents set in advance in markupMRKUP or script SCRPT

-   -   As shown in FIG. 14, in this embodiment, the advanced        application ADAPL is premised on processing based on the markup        MRKUP and script SCRPT. A specific event is defined in the event        element EVNTEL in the markup MRKUP shown in FIG. 91C, and the        event listener in the script SCRPT shown in FIG. 14 detects        generation of the event. After that, the function shown in FIG.        119 or 120 is designated, thus executing the API command.

The “fastForward” function shown in FIG. 119 means a fastforward playmode, and the “fastReverse” function means a fastreverse play mode, asshown in FIGS. 106A to 110B. The “stepForward” function shown in FIG.120 means processing for executing step playback in the forwarddirection, and the “stepBackward” function means processing forexecuting step playback in the backward direction, as shown in FIGS.106A to 110B. The processing contents of the “fastForward” or“fastReverse” function will be described below using FIG. 119.

The invention is not limited to the above embodiment. As anotherapplication example, the ECMA script processor ECMASP in the advancedapplication manager ADAMNG shown in FIG. 44 may execute, as a main body,processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<FastForward>

The fastForward function is to change the progress speed of TitleTimeline to the specific speed, and the progress direction to forward.The speed is specified by index that is provided by fastForwardSpeedproperty.

Parameters:

speed of type unsigned int

Specifies the fast forward speed. Selectable values are specified byfastForwardSpeed property, and it shall be specified by index, notspeed.

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the capturing property of the MainVideo object and the changingproperty of the MainVideo object.

If all properties are “false”:

2) Go to step 3).

Otherwise:

2) Throw HDDVD_E_INVALIDCALL and return immediately.

3) Check the changing property of the SubVideo object and Sub Video issynchronized to Title Timeline.

If it is “false”, or Sub Video is not synchronized:

4) Go to step 5).

Otherwise:

4) Throw HDDVD_E_INVALIDCALL and return immediately.

5) Check whether assigned argument speed within the valid range.

If it is valid:

6) Go to step 7).

Otherwise:

6) Throw HDDVD_E_ARGUMENT and return immediately.

7) Assign the PLAYSTATE_FAST_FWD property to the playState property.

8) Assign the argument speed to the playSpeed property.

9) Change the direction and the speed of Title Timeline as ForwardScan.

<fastReverse>

The fastReverse function is to change the progress speed of TitleTimeline to the specific speed, and the progress direction to backward.The speed is specified by index that is provided by fastReverseSpeedproperty.

Parameters:

speed of type unsigned int

Specifies the fast reverse speed. Selectable values are specified byfastReverseSpeed property, and it shall be specified by index, notspeed.

Return Value: None

Exceptions: HODVD_E_ARGUMENT

HDDVD_E_INVALIDCALL

Detailed behavior is same as fastForward function except-that thisfunction changes the playback direction to backward.

In this embodiment, the processing of the “fastForward” or “fastReverse”function is inhibited during capturing of main video data or duringchanging of the main video playback method. Likewise, this function isinhibited from being used when the sub video SUBVD is presented insynchronism with the title timeline TMLE. For example, in case of theexample shown in FIG. 16, when the main title 31 and independent window32 for a commercial are parallelly presented and played back to theuser, and the user designates a fastforward or fastreverse play mode toonly the main title 31, if the independent window 32 for a commercialalso undergoes fastforward or fastreverse playback, the user finds itdisrupting. Therefore, under only the condition in which the sub videoSUBVD is not synchronized with the main video MANVD, this embodiment cangive convenience for the user to make special playback of a specificwindow by executing the fastforward or fastreverse playback or stepplayback. The aforementioned use condition is selected first. That is,upon starting the API command processing in ST119-1 a, it is checked inST119-2 a if the capturing property of the main video MANVD is not“capturing” and the changing property of the main video MANVD is not“changing”. If the main video MANVD is being captured or its playbackproperty is being changed, an error message is output in ST119-7 a, andthe processing then ends (ST119-9 a ). If the main video MANVD is notbeing captured, and the playback property of the main video MANVD is notbeing changed, it is then confirmed in ST119-3 a if the changingproperty of the sub video SUBVD is not “changing” and the sub videoSUBVD is not presented in synchronism with the title timeline TMLE. Ifthe conditions are not satisfied, an error message is similarly outputin ST119-7 a, thus ending the processing. If the changing property ofthe sub video SUBVD is not “changing” and the sub video SUBVD is notpresented in synchronism with the title timeline TMLE, or the sub videoSUBVD is not presented in synchronism with the main video MANVD, it ischecked in ST119-4 a as the next step if the designated playback speedfalls with a valid range (ST119-4 a ). If the designated playback speedfalls within the valid range, “PLAYSTATE_FAST_FWD” (during fastforwardplayback) is set in the “playState” property for the “fastForward”function in the API command in ST119-5 a. In case of the “fastReverse”function in the API command of this embodiment, “PLAYSTATE_FAST_RVS”(during fastforward playback) is set in the “playState” property inST119-5 a. Next, the designated playback speed is set in the “playState”property (ST119-6 a ). Upon completion of the setting of the “playState”property, in case of the “fastForward” function, a normal playbackdirection is set as the progress direction of the title timeline TMLE,and the designated playback speed is designated as a playback speed,thus changing the playback processing (special playback). In case of the“fastReverse” function in the API command, the processing for changingthe playback processing method (special playback) is executed whilesetting the reverse (rewind) direction as the progress direction of thetitle timeline TMLE and adjusting the designated playback speed to theprogress speed in ST119-8 a. Upon completion of a series of specialplayback processes described above, the API command processing ends instep ST119-9 a.

The contents of the “stepForward” function or “stepBackward” functionshown in FIG. 120 will be described below.

<StepForward>

The stepForward function is to display the next still picture by stepforward. Only when Playlist Manager is in pause state, Application isable to call this function. This function shall not change title. Thisfunction is optional, Player may not support this function.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

HDDVD_E_NOTSUPPORTED

Detailed processing is as follows:

1) Check whether Player supports a step forward function.

If Player supports this function:

2) Go to 3).

Otherwise:

2) Throw HDDVD_E_NOTSUPPORTED and re turn immediately .

3) Check the playState property.

If the playState property is the value of the PLAYSTATE PAUSE property:

4) Go to 5).

Otherwise:

4) Throw HDDVD_E_INVALIDCALL and return immediately.

5) Check the capturing property of the MainVideo object.

If it is “false”:

6) Go to step 7).

Otherwise:

6) Throw HDDVD_E_INVALIDCALL and return immediately.

7) Check whether next still picture exists.

If next still picture exists:

8) Go to 9).

Otherwise (this means current picture is last one in the current title):

8) Throw HDDVD_E_INVALIDCALL and return immediately .

9) Display next still picture.

10) According to displayed picture, this behavior is same as jumpfunction.

<stepBackward>

The stepBackward function is to display the previous still picture bystep backward. This function is same as stepForward function except adirection. This function is optional, Player may not support thisfunction.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

HDDVD_E_NOTSUPPORTED

Detailed behavior is same as stepForward function except a direction.

In this embodiment, the “stepForward” function or “stepBackward”function can be executed only while the video playback is paused. Inthis embodiment, the “stepForward” function or “stepBackward” functioncannot be executed during capturing of the main video MANVD. In thisway, by inhibiting simultaneous parallel processing of capturing of themain video MANVD and the aforementioned step playback processing, theprocessing in the advanced content playback unit ADVPL is simplified.Upon starting the API command processing in ST120-1 b, it is checkedfirst in ST120-2 b if the advanced content playback unit ADVPL supportsthe step playback in the forward or backward direction. The navigationmanager NVMNG in the advanced content playback unit ADVPL shown in FIG.14 recognizes the supported processing function contents of the advancedcontent playback unit ADVPL. In this way, the navigation manager NVMNGchecks in ST120-2 b if the step playback in the forward or backwarddirection is supported, and executes the relevant processing. Morespecifically, if the step playback mode is not supported, an errormessage is output in ST120-7 b, and the API command processing ends(ST120-8 b ). If the advanced content playback unit ADVPL supports thestep playback mode, a series of determination processes are made to seeif the step playback processing can be executed. That is, it is checkedin ST120-3 b if the “playState” property is set to “PLAYSTATE_PAUSE”(playback is paused). If the “playState” property is not set, an errormessage is similarly output (ST120-7 b ), thus ending the processing. Ifthe playback is paused, it is checked in ST120-4 b if the capturingproperty of the main video MANVD is “capturing”. If the capturingproperty of the main video MANVD is “capturing”, since the step playbackis inhibited, an error message is output (ST120-7 b ), thus ending theprocessing. If the main video MANVD is not being captured, it is checkedin ST120-5 b if the step playback is physically possible. For example,in case of the “stepForward” function, it is checked in ST120-5 b if awindow (frame) to be presented next exists with respect to the currentwindow (frame). If the window (frame) to be played back next exists, thenext window (frame) is played back and presented to the user in ST120-6b. On the other hand, in case of the “stepBackward” function, it ischecked in ST120-5 b if a window (frame) immediately before thecurrently presented window exists. If the immediately preceding window(frame) exists, the immediately preceding window (frame) is played backand presented to the user in ST120-6 b. After the designated window(frame) is presented in ST120-6 b, the API command processing ends inST120-8 b.

The “jumpInTitle” function of API commands used in this embodimentexecutes the change processing of the playback time on the titletimeline TMLE in a single title, as shown in FIGS. 106A to 110B, andFIG. 121 shows the detailed flowchart contents. The “jumpOnChapter”function of API commands used in this embodiment has a function ofstarting playback from the designated time in a single chapter, as shownin FIGS. 106A to 110B, and FIG. 122 is a flowchart showing the detailedfunction contents. Furthermore, the “top” function of API commands has afunction of starting playback from the top position in a chapter, asshown in FIGS. 106A to 110B, and FIG. 123 is a flowchart showing thedetailed function contents. These functions are normally executed byuser's designation during playback of the advanced content ADVCT. Inthis case, for example, when the user inputs a jump instruction in atitle, a chapter change instruction, or a chapter head search processinginstruction using the remote control controller RMCCTR, the remotecontrol controller RMCCTR of the user interface engine UIENG operates,and issues a user interface event UIEVT to the advanced applicationmanager ADAMNG in the navigation manager NVMNG, as shown in FIG. 28.Upon reception of the user interface event UIEVT, the advancedapplication manager ADAMNG searches the advanced application scriptsADAPLS initially, as shown in FIG. 44. If no corresponding script isfound, the advanced application manager ADAMNG searches the defaultevent handler scripts DEVHSP, and issues function calls (API commands)shown in FIGS. 21 to 23 to the presentation engine PRSEN or playlistmanager PLMNG based on the search result. In case of the jump processingin the title timeline TMLE or the chapter head search processing shownin FIGS. 21 to 23, the contents of the advanced content ADVCT to beinput to the presentation engine PRSEN are often largely changed.Therefore, in this case, command processing is generated from thenavigation manager NVMNG toward the data access manager DAMNG or datacache DTCCH. For example, when the advanced content ADVCT is saved inthe persistent storage PRSTR or information storage medium DISC, and isplayed back from there, the data access manager DAMNG acquires advancedcontent information of a jump destination from the persistent storagePRSTR or information storage medium DISC, and transfers the result tothe presentation engine PRSEN. When the advanced content ADVCT istemporarily saved in advanced in the data cache DTCCH, and required datais transferred from the data cache DTCCH to the presentation enginePRSEN, data of the advanced content ADVCT corresponding to a jumpdestination is transferred from the data cache DTCCH to the presentationengine PRSEN in response to a command from the navigation manager NVMNG.The invention is not limited to the above embodiment. As anotherapplication example, the ECMA script processor ECMASP in the advancedapplication manager ADAMNG shown in FIG. 44 may execute, as a main body,processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

The contents of the “jumpInTitle” function will be described in detailbelow using FIG. 121.

<Jump>

The jump function stops the current presentation, initiates playbackfrom the recorded position, and change status to bookmarked one. Abookmark is set when the following Script APIs are called.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

2) Check the capturing property of the MainVideo object, the changingproperty of the MainVideo object and the changing property of theSubVideo object.

If all properties are “false”:

2)Go to step 3).

Otherwise:

2) Throw HDDVD_E_INVALIDCALL and return immediately.

3) Copy presentation parameters from Bookmarked object.

-   -   Copy the track property to the track property of the Player        object.

4) Call title. Jump (elapsedTime, false);

When exception is thrown from this function call, Player shall not catchit and shall throw it to caller.

In this embodiment, the “jumpInTitle” function is inhibited from beingexecuted under the four following conditions:

1. during capturing of the main video MANVD;

2. during changing of the playback contents of the main video MANVD;

3. during changing of the playback properties of the sub video SUBVD;and

4. when the sub video SUBVD is presented in synchronism with the titletimeline TMLE.

By setting activation inhibition limitations of the “jumpInTitle”function, the processing in the advanced content playback unit ADVPL canbe simplified, and the reliability of the playback property for the usercan be greatly improved. Upon starting the API command processing inST121-1 a, the aforementioned inhibition conditions are checked. Thatis, it is checked in ST121-2 a if the capturing property of the mainvideo MANVD is other than “capturing”, and its changing property is not“changing”. If the capturing property is “capturing” or the changingproperty is “changing an error message is output in ST121-6 a, and thecommand processing ends (ST121-10 a ). It is checked in ST121-3 a if thechanging property of the sub video SUBVD is not “changing”, and the subvideo SUBVD is not presented in synchronism with the title timelineTMLE. If it is confirmed that the changing property of the sub videoSUBVD is not “changing”, and the sub video SUBVD is not presented insynchronism with the title timeline TMLE and the sub video element SUBVDis not synchronized with the main video MANVD, either, the process canadvance to step ST121-4 a. It is checked in step ST121-4 a if the timeof the designated jump destination has a valid format, and is includedin the designated time range of the title timeline TMLE. If the time ofthe designated jump destination has a valid format and is included inthe time range of the title timeline TMLE the time progress of the titletimeline TMLE is paused in ST121-5 a. Next, the contents of a bookmarkare checked. When playback is interrupted due to some sudden accidentsuch as a power failure or power OFF operation by the user duringplayback of the advanced content ADVCT, the advanced content playbackunit ADVPL periodically executes data recording and update processing ofplayback location information in a memory area included in thenavigation manager NVMNG as a bookmark so as to restart playback fromthe playback interrupted location immediately after the sudden accidentis repaired. With this processing, even after interruption of playbackof the advanced content ADVCT due to such sudden accident, playback canbe restarted from the playback interrupted location. In ST121-7 a, theset bookmark parameters (the aforementioned latest playback positioninformation appropriately updated in the memory included in thenavigation manager NVMNG) are checked. If the information recorded inthe bookmark is not the latest playback position information, the “save”function (see FIGS. 106A to 110B or FIG. 114) is called, and the currentplayback position and playback state are saved in the bookmark (ST121-8a ). In this way, after the latest playback position and playback stateare saved in the bookmark by the processes in ST121-7 a and ST121-8 a,playback presentation is started from the designated time in the title,and the advanced content playback unit ADVPL executes change processingof various kinds of property information in ST121-9 a. After theplayback presentation has started and various properties have beenchanged, the API command end processing is done in ST121-10 a. Thecontents of the “jumpOnChapter” function in FIG. 122 will be describedbelow.

<Jump>

The jump function initiates playback for the specified time on thischapter. This function behavior is same as jump function of Titleobject.

Parameters:

time of type String

-   -   Specifies the time to jump from the beginning of specified        chapter. This argument shall be specified by Timecode.

bookmark of type Boolean

-   -   Specifies whether presentation information is bookmarked during        an execution of this function. When this property is “true”,        Player shall save bookmark information.

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

HDDVD_E_INVALIDCALL

Detailed processing is same as jump function of Title object.

1) Acquire the title object to which this chapter is belonging.

2) Calculate elapredrime.

If elapsedTime is not able to calculate, because the time argument iswrong value:

3) Throw exception, HDDVD_E_ARGUMENT.

Otherwise:

3) Call title.jump (elapsedTime, bookmark).

Upon starting the API command processing in ST122-1 b, the informationof a title including a designated chapter (by the user) is acquired inST122-2 b. In ST122-3 b, an elapsed time of the designated chapter inthe title is calculated, and it is checked if the elapsed time is validor invalid. The invalid elapsed time means a case in which a designatedtime includes an error or it is impossible to calculate the elapsedtime. If it is determined in ST122-3 b that the calculated elapsed timeof the designated chapter is invalid, an error message is output inST122-4 b, and the API command processing ends (ST122-6 b ). Bycontrast, if it is determined in ST122-3 b that the elapsed time isvalid, the “jumpInTitle” function (see FIGS. 106A to 110B and FIG. 121)is called (ST122-5 b ), and the playback position is jumped to startplayback. After the playback is started since the jump, the API commandprocessing ends (ST122-6 b ). Next, the contents of the “top” functionshown in FIG. 123 will be described below.

<Top>

The top function restarts the presentation from top of the chapter. Whenthe elapsedTime property is very small, Player changes chapter to theprevious one. This decision is made by Player.

Parameters: None

Return Value: None

Exceptions: HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Calculate chapter number for top from Playlist,Player.playlist.currentChapter.number andPlayer.playlist.currentChapter.elapsedTime.

2) Call Player.currentTitle.chapters[chapter number fortop].jump(“00:00:00:00”, false).

Upon starting the API command processing in ST123-1 c, the time of thetop position of the chapter number to be played back and presented iscalculated based on the playlist PLLST information, the designatedchapter number information, and the elapsed time on the title timelineTMLE in ST123-2 c. As shown in FIG. 17, in this embodiment, titletimelines TMLE are uniquely set for respective titles and are managedtogether in the playlist PLLST. As shown in FIG. 23A, in thisembodiment, the playlist PLLST includes title information TTINFO. Asshown in FIG. 23B, title element information TTELEM for each title isallocated in the title information TTINFO. The title element informationTTELEM for each title includes object mapping information OBMAPI thatrepresents the playback presentation timings of respective playbackpresentation objects on the title timeline TMLE, and playback sequenceinformation PLSQI that represents information of the respectivechapters, as shown in FIG. 24. In the playback sequence informationPLSQI, chapter elements defined for respective chapters are allocated,as shown in FIG. 24D, and the chapter numbers are set according to theallocation order of chapter elements described in the playback sequenceinformation PLSQI. As shown in FIG. 24D, “titleTimeBegin” in eachchapter element describes time information CHSTTM of the top position ofeach chapter on the title timeline. Therefore, the “top” function shownin FIG. 123 is processed using the information shown in FIG. 24D. Afterthe time of the top position of each chapter is calculated in ST123-2 c,the “jumpInTitle” function (see FIGS. 106A to 110B and FIG. 121) iscalled in ST123-3 c to start playback from the designated time position.After the playback from the designated time position has succeeded, theAPI command processing ends in ST123-4 c.

FIG. 124 is a flowchart showing the contents of “getMediaAttribute”function of API commands. The “getMediaAttribute” function is used whenmedia attribute information MDATRI of a corresponding track is to beacquired from the playlist PLLST. In the advanced content playback unitADVPL of this embodiment shown in FIG. 14, the presentation engine PRSENexecutes playback presentation processing of playback presentationobjects using the media attribute values. Upon execution of thisprocessing, the presentation engine PRSEN issues the API command“getMediaAttribute” to the navigation manager NVMNG so as to acquirerequired media attribute values. As shown in FIG. 28, the playlistmanager PLMNG in the navigation manager NVMNG interprets the contents ofthe playlist PLLST to check the requested media attribute values, andreturns them to the presentation engine PRSEN. The detailed contents ofthe “getMediaAttribute” function in FIG. 124 mean the processingprocedure in the playlist manager PLMNG. As shown in FIG. 79, theplaylist PLLST includes configuration information CONFGI, mediaattribute information MDATRI, and title information TTINFO. The mediaattribute information MDATRI means information recorded in the mediaattribute information MDATRI shown in FIG. 79A, includes an audioattribute item element AABITM corresponding to audio information, avideo attribute item element VABITM corresponding to video information,a sub-picture attribute item element SPAITM corresponding to sub-pictureinformation, as shown in FIG. 79B and describes information shown inFIGS. 79C to 79E. The invention is not limited to the above embodiment.As another application example, the ECMA script processor ECMASP in theadvanced application manager ADAMNG shown in FIG. 44 may execute, as amain body, processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<GetMediaAttribute>

The getMediaAttribute function is used to get media attribute value ofthis track from Playlist.

Parameters:

time of type String

-   -   Specifies the time on Title Timeline.

name of type String

-   -   Specifies the name of media attribute.

Return Value:

value of type String

Indicates the value of the specified media attribute.

Exceptions:

HDDVD_E_INVALIDCALL

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether the assigned parameter time is within this title.

If the assigned parameter time is valid:

2) Go to step 3)

If the assigned parameter time is invalid:

2) Throw an exception, HDDVD_E_ARGUMENT.

3) Check whether this track has mediaAttr attribute.

If this track has it:

4) Go to step 5)

Otherwise:

4) Throw HDDVD_E_INVALIDCALL and return immediately.

5) Search the Media Attribute Information with corresponding value ofmediaAttr.

If it is found:

6) Go to step 7)

Otherwise:

6) Throw an exception, HDDVD_E_INVALIDCALL.

7) Search the Media Attribute element with corresponding value of name.

If it is found;

8) Return this value.

Otherwise:

8) Throw an exception, HDDVD_E_ARGUMENT.

As shown in FIG. 124, upon starting the API command processing (ST124-1a), it is checked in ST124-2 a if the designated time information fallswithin the setting range of the title timeline TMLE in a title. If thedesignated time information falls outside the range of the titletimeline TMLE, an error message is output in ST124-7 a, and the APIcommand processing ends (ST124-8 a ). If the designated time informationfalls within the setting range of the title timeline TMLE in the title,it is checked in ST124-3 a if a corresponding track has media attributeinformation MDATRI. In this state, whether the corresponding track is anaudio, video, or sub-picture track is determined, and whether or not themedia attribute information MDATRI described in FIG. 79C to 79E isdescribed is determined accordingly. If the corresponding track has themedia attribute information MDATRI, the media attribute informationMDATRI is searched for corresponding values in ST124-4 a (to search forcorresponding values in FIGS. 79C to 79E) to see if values are found.Next, the attribute item element (see FIG. 79) including thecorresponding value is searched in ST125-5 a to see if the values arefound. If the values are found in ST125-5 a, the corresponding valuesare read from the corresponding attribute item element, and are returnedto the presentation engine PRSEN as return values upon calling the“getMediaAttribute” function (ST124-6 a ). If each determinationcondition is not satisfied in checking steps ST124-2 a to 124-5 a in theprocedure, a corresponding error message is output in ST124-7 a. Afterthe return values upon calling the “getMediaAttribute” function arereturned in ST124-6 a, the API command processing ends in ST124-8 a.FIG. 125 is a flowchart showing the contents of the “setOuterFrameColor”function as an API command. The “setOuterFrameColor” function is an APIcommand (function) used when the outer frame color of the main videoMANVD is to be changed. The outer frame color of the main video MANVD isset in advance in the playlist PLLST. That is, as shown in FIG. 80A, theplaylist PLLST includes the configuration information CONFGI, mediaattribute information MDATRI, and title information TTINFO. Theconfiguration information CONFGI includes a main video default colorelement MVDFCL, as shown in FIG. 80B, and includes a field for settingouter frame color attribute information COLAT corresponding to the mainvideo as color attribute information in the main video default colorelement MVDFCL, as shown in FIG. 80E. As shown in FIG. 28, the playlistmanager PLMNG included in the navigation manager NVMNG in the advancedcontent playback unit ADVPL in this embodiment reads and automaticallysets the outer frame color attribute information COLAT corresponding tothe main video in the playlist PLLST. The automatically set outer framecolor attribute information COLAT corresponding to the main video can bechanged by a user operation UOPE. In this embodiment, the outer framecolor attribute information COLAT may be changed by the markup MRKUP andscript SCRPT in rare cases. A situation in which the outer frame colorof the main video MANVD is to be changed using the “setOuterFrameColor”function will be explained below. As described above, the outer framecolor is automatically set based on the playlist PLLST. When the userwants to change the outer frame color, he or she sets to change theouter frame color by a user operation UOPE using the remote controller,front panel, or the like. When the user's setting has been done usingthe remote control controller RMCCTR or front panel controller FRPCTR,or the keyboard controller KBDCTR or mouse controller MUSCTR in the userinterface engine UIENG in the navigation manager NVMNG shown in FIG. 28,a user interface event UIEVT is generated. Upon generation of the userinterface event UIEVT, the programming engine PRGEN in the advancedapplication manager ADAMNG in the navigation manager NVMNG interpretsthe advanced application script ADAPLS (if no API command is set in thescript ADAPLS of the advanced application, it may refer to the defaultevent handler script DEVHSP), and interprets the “setOuterFrameColor”function, as shown in FIG. 44, it issues an outer frame color changeinstruction to the presentation engine PRSEN based on that function.Therefore, the “setOuterFrameColor” function is normally generated andprocessed in the navigation manager NVMNG. As described above, as a rarecase, as shown in FIG. 14, when the event element EVNTEL in the markupMRKUP shown in FIG. 91C defines an outer frame color change event, theevent listener in the script SCRPT shown in FIG. 14 detects that event,and executes the “setOuterFrameColor” function in response to thatdetection. In this case, the “setOuterFrameColor” function is defined inthe script SCRPT. The detailed procedure showing the contents of the“setOuterPrameColor” function will be explained below using FIG. 125.

<setOuterFrameColor>

The setOuterFrameColor function is used to change the Outer Frame Colorfor Main Video.

Parameters:

y of type unsigned int

Specifies the luminance signal of Outer Frame Color for Main VideoPlane.

Valid Range: 16-235

cr of type unsigned int

Specifies the digitized version of the analogue component (R-Y) of OuterFrame Color for Main Video Plane.

Valid Range: 16-240

cb of type unsigned int

Specifies the digitized version of the analogue component (R-B) of OuterFrame Color for Main Video Plane.

Valid Range: 16-240

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether an assigned parameters are within valid range.

If all parameters are within valid range:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw HDDVD_E_ARGUMENT.

3) Change Outer Frame Color setting and Assign parameters to properties.

-   -   Assign parametery to the OuterFrameColorY property.    -   Assign parameter cr to the OuterFrameColorCr property.    -   Assign parameter cb to the OuterFrameColorCb property.

Upon starting the API command processing in ST125-1 b, the processingbegins with checking in ST125-2 b if the designated parameters fallwithin the valid range. If the designated parameters fall outside thevalid range, an error message is output in ST125-4 b, and end processingis executed in ST125-5 b. If the designated parameters fall within thevalid range (ST125-2 b ), the outer frame color is changed, and thedesignated parameters are set in property information in ST125-3 b. Theouter frame color attribute information COLAT (color attributeinformation) for the main video in the main video default color elementMVDFCL shown in FIG. 80E is expressed by Y, Cr, and Cb values.Therefore, the values to be set as the property information in ST125-3 bare also set using the Y, Cr, and Cb values as parameters of the outerframe color. After the outer frame color has been changed, and thedesignated parameters are set in the property information (ST125-3 b ),the API command end processing is executed (ST125-5 b ).

FIG. 126 is a flowchart showing the contents of the “capture” functionas an API command. FIG. 127 shows the detailed procedure in an “ImageCapture sequence” used as a subroutine in the “capture” function. The“capture” function indicates processing for saving an image of thecurrent main video MANVD in the file cache FLCCH. As shown in FIG. 25,in this embodiment, some data of a secondary video set SCDVS in theinformation storage medium DISC, some data of a secondary video setSCDVS saved in the network server NTSRV, and a secondary video set SCDVSsaved in the persistent storage PRSTR are temporarily saved in the filecache FLCCH in the data cache DTCCH before they are played back andpresented to the user, and they are sequentially read out from the filecache FLCCH to the secondary video player SCDVP and undergo playbackpresentation to the user. As shown in FIG. 10, a playback presentationobject which belongs to a substitute audio video SBTAV includes a mainvideo MANVD image in the secondary video set SCDVS saved in the filecache FLCCH. Therefore, the “capture” function means an API command usedwhen the main video MANVD in the substitute audio video SBTAV (includingthe main audio MANAD in some cases) is captured in advance into the filecache FLCCH in the data cache DTCCH. Playback presentation timingcontrol information associated with the substitute audio video SBTAV isdescribed in a substitute audio video clip element SBAVCP, as shown inFIG. 54C. The capture timing of the main video MANVD of the substituteaudio video SBTAV is described in a playback presentation object capturestart time PRLOAD (preload attribute information) on the title timelineshown in FIG. 54C. Therefore, the playlist manager PLMNG included in thenavigation manager NVMNG in the advanced content playback unit ADVPL inthis embodiment shown in FIG. 28 reads information of the playbackpresentation object capture start time PRLOAD (preload attributeinformation) on the title timeline in the substitute audio video clipelement SBAVCP in the playlist PLLST, and executes the “capture”function to be described later at the designated time. Therefore, the“capture” function as the API command is generated in the playlistmanager PLMNG in the navigation manager NVWMNG shown in FIG. 28. Theinvention is not limited to the above embodiment. As another applicationexample, the ECMA script processor ECMASP in the advanced applicationmanager ADAMNG shown in FIG. 44 may execute, as a main body, processingbased on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

The contents of the “capture” function shown in FIG. 126 will bedescribed below.

<Capture>

The capture function is used to save current Main Video image to FileCache. This function shall be called only in pause state. When MainVideo is scaled or clipped, the captured image shall be same as thescaled and clipped image.

Parameters:

uri of type String

-   -   Specifies uri of the file name to store the video image. The        video image is able to be saved only in File Cache. This        parameter shall be follow URI rule.

callback of type Function

-   -   Specifies the callback function for the state change. The        function shall be the following interface:    -   void callback(status: int, uri: String);    -   Parameters:        -   status of type int:        -   Player.FINISHED: Capture succeeded        -   Player.INVALID_PARAMETER: The assigned parameter uri does            not indicate File Cache        -   Player.NOT_ENOUGH_SPACE: There is not enough space to create            image capture file in File Cache.        -   Player.FAILED: Capture failed    -   uri of type String:        -   This parameter indicates the file to store a captured image.

Return Value: None

Exceptions:

HDDVD_E_NOTENOUGHSPACE

HDDVD E INVALIDCALL

Detailed processing is as follows:

1) Check whether there is an enough space to store captured image inFile Cache.

If there is an enough space:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw HDDVD E NOTENOUGHSPACE.

3) Check whether Main Video is visible.

If Main Video is visible:

4) Go to step 5).

Otherwise:

4) Stop this sequence and throw HDDVD E INVALIDCALL.

5) Check the playState property of the Playlist object.

If the value is same as the PLAYSTATE_PAUSE property of the Playlistobject:

6) Go to step 7).

Otherwise:

6) Stop this sequence and throw HDDVD_E_INVALIDCALL.

7) Check the capturing property.

If it is “false”:

8) Go to step 9).

Otherwise:

8) Stop this sequence and throw HDDVD_E_INVALIDCALL.

9) Assign “true” to the capturing property.

10) Start an Image Capture sequence.

11) Return immediately.

Image Capture sequence is as follows:

1) Check whether the parameter uri specify File Cache or the filespecified by uri already exists.

If the file is able to be created:

2) Go to step 4).

Otherwise:

2) Call callback with parameter as:

callback (Player.INVALID-PARAMETER, un);

3) Go to step 6).

4) Save current image data to the file specified by URI.

If saving file has been achieved:

4) Call callback with parameter as:

callback (Player-FINISHED, un);

The “capture” function cannot execute capture processing during playbackof the main video MANVD, but it can execute capture processing onlywhile the main video MANVD is paused. At the same time, when anothermain video MANVD is captured, a plurality of main videos MANVD cannot becaptured simultaneously. In this way, as a big characteristic feature,simultaneous playback and capturing of the main video MANVD is avoided,and simultaneous capturing of a plurality of main videos MANVD isavoided, thus simplifying the processing of the advanced contentplayback unit ADVPL, and improving the capturing precision of the mainvideo MANVD. Capturing of the main video MANVD is valid only whenpresentation to the user is allowed, and is premised on that the filecache FLCCH includes a free area large enough to save the main videoMANVD. As a result, the main video MANVD can be efficiently capturedinto the file cache FLCCH. In the “capture” function shown in FIG. 126,whether or not the aforementioned conditions are satisfied is checkedfirst. That is, upon starting the API command processing in ST126-1 a,it is confirmed in ST126-2 a if the file cache FLCCH includes a freearea large enough to save an image. As shown in FIG. 28, the navigationmanager NVMNG in the advanced content playback unit ADVPL includes thefile cache manager FLCMNG, which manages the file cache FLCCH.Therefore, when the playlist manager PLMNG reaches the capture starttiming in correspondence with the preload attribute informationdescribed in the substitute audio video clip element SBAVCP in theplaylist PLLST, the playlist manager PLMNG which read that informationinquires the file cache manager FLCMNG about whether or not a sufficientfree area exists. If no sufficient free area exists, an error message isoutput in ST126-7 a, and the main video MANVD capturing processing ends(ST126-9 a ). If the file cache FLCCH includes a sufficient free area inST126-2 a, the playlist manager PLMNG interprets the contents of theplaylist PLLST in ST126-3 a to see if the main video MANVD can bepresented to the user. If the main video MANVD can be presented to theuser, the process advances to the next step. As described above, sincethe main video MANVD can be captured while it is paused, and capturingis valid only when no other main video MANWD is being captured, it ischecked in ST126-4 a if the “playState” property is “PLAYSTATE_PAUSE”(playback is paused), and in ST126-5 a if the capturing property of themain video MANVD is not “capturing”. If the aforementioned conditionsare not satisfied, an error message is output in ST126-7 a, and thecapturing processing ends (ST126-9 a ). If the aforementioned conditionsare satisfied, it is declared that capturing of the main video MANVD isunderway, and a practical capturing sequence is started. That is, inST126-6 a, as the method of setting “capturing”, the capturing propertyis set to be “true”. After that, the “Image Capture sequence” shown inFIG. 127 is started. Upon completion of the “Image Capture sequence”,the processing ends in ST126-9 a. In the “Image Capture sequence” shownin FIG. 127, the captured main video MANVD is saved as a file in thefile cache FLCCH, and the secondary video player SCDVP (see FIG. 25)reads the main video MANVD to perform playback presentation of that mainvideo MANVD by designating the file name. Also, it is always checked ifthe remaining capacity of the file cache FLCCH is insufficient, and ifthe remaining capacity becomes insufficient, processing for making acallback as needed is executed. That is, upon starting the “ImageCapture sequence” in ST127-1 b, it is confirmed in ST127-2 b if the URIof a capturing destination file of the main video MANVD designates afile in the file cache FLCCH, and a file with the same name has notalready been stored in the file cache FLCCH (capturing of the main videoMANVD into the file cache FLCCH is incomplete). If the condition inST127-3 b is not satisfied, whether or not the capturing processing hasfailed due to an insufficient remaining capacity of the file cache FLCCHas a cause of a capturing failure is checked in ST127-4 b. If capturinghas failed due to that cause, “callback” of “insufficient remainingcapacity” is called (ST127-6 b ). If capturing has failed due to a causeother than the insufficient remaining capacity, “callback” of “capturingfailure” is called in ST127-7 b. If it is determined in ST127-2 b thatthe conditions are not satisfied, “callback” of “invalid designatedparameters” is called in ST127-8 b. If all the aforementioned conditionsare satisfied, and the process passes ST127-3 b to allow capturing, theplaylist manager PLMNG shown in FIG. 28 controls the file cache managerFLCMNG, and also controls the data access manager DAMNG shown in FIG. 14to execute data transfer processing of the required main video MANVDfrom an original saving location into the file cache FLCCH in the datacache DTCCH. Upon completion of the capturing processing, “callback” of“capturing end” is called in ST127-5 b. After that, in order to declarethat capturing is not underway, the contents of the capturing propertyare set to be “false” in ST127-9 a, thus ending the “Image Capturesequence” (ST127-10 b).

FIGS. 128 and 129 are flowcharts showing the contents of the“changeImageSize” function defined in API commands. The“changeImageSize” function executes reduction processing of an imagefile size captured in the file cache FLCCH. In this embodiment, as shownin FIG. 16, windows of the main video MANVD and sub video SUBVD of thosewhich are presented to the user can be simultaneously presented, or onlythe main video MANVD can be presented on the full window (or the subvideo SUBVD can be presented on the full window). For example, thisembodiment allows the following use method. That is, the main videoMANVD that represents the main title 31 is presented on the full windowto be presented to the user first, the size of the main video MANVD isreduced at a given timing, as shown in FIG. 16, and the sub video SUBVDis presented in the neighborhood of the window to be presented to theuser. As methods of presenting, on a window, the main video MANVD or subvideo SUBVD to be originally presented on the full window while reducingthe size, this embodiment can execute two different methods: a method ofreducing and presenting video information (main video MANVD or sub videoSUBVD) on a window without changing the original video informationcontents; and a method of reducing the window size by changing secondaryenhanced video object data S-EVOB itself in the file cache FLCCH whichtemporarily captures and saves video information (sub video SUBVD or thelike), and then presenting the reduced window to the user. As the methodof changing the size on the window to be presented to the user withoutchanging original video information (primary enhanced video object dataP-EVOB or secondary enhanced video object data S-EVOB),“changeLayoutMainVideo” (to change the window size upon presenting themain video MANVD) and “changeLayoutSubVideo” (to change the window sizeupon presenting the sub video SUBVD) in API commands shown in FIGS. 106Ato 110B are defined in this embodiment. As the method of reducing theimage size of video information (secondary enhanced video object dataS-EVOB) itself in the file cache FLCCH, “changeImageSize” in APIcommands shown in FIGS. 106A to 110B is available. An embodiment of thelatter API command means the function contents shown in the flowchartsof FIGS. 128 and 129, and has a function of reducing the size of animage file captured in the file cache FLCCH. As the practical contents,as shown in FIG. 25, data of secondary video set SCDVS temporarily savedin the file cache FLCCH is read from the file cache FLCCH to generate areduced image, and the reduced image is re-saved in the file cache FLCCHto have another file name. In the description given so far, as an objectwhose image size is to be reduced, the secondary enhanced video objectdata S-EVOB which forms the secondary video set SCDVS has been mainlyexplained. This embodiment is not limited to such specific data, and the“changeImageSize” function can be executed for the advanced applicationADAPL and advanced subtitle ADSBT as images temporarily saved in thefile cache FLCCH. As call timings of the “changeImageSize” function,there are three different conditions:

1. a user request;

2. a systemic reason in the advanced content playback unit ADVPL; or

3. to be called in response to processing which is designated in advanceby the markup MRKUP and script SCRPT (see FIG. 14).

In case of condition 1, when the user makes a user operation UOPE, theuser interface engine UIENG shown in FIG. 28 issues a user interfaceevent UIEVT, and the programming engine PRGEN in the advancedapplication manager ADAMNG shown in FIG. 44 issues a call“changeImageSize” to the playlist manager PLMNG or file cache managerFLCMNG (see FIG. 28) in response to that event. As a systemic situationin condition 2, in most cases, the playlist manager PLMNG issues the“changeImageSize” function to the file cache manager FLCMNG. When thefunction call is pre-programmed by the markup MRKUP and script SCRPT incondition 3, the programming engine PRGEN in the advanced applicationmanager ADAMNG receives information of the markup MRKUP and script SCRPTfrom the playlist manager PLMNG shown in FIG. 28, and issues aninstruction of the “changeImageSize” function to the playlist managerPLMNG or file cache manager FLCMNG. In any of these cases, the filecache manager FLCMNG manages reduced image generation processing for animage file captured in the file cache FLCCH and saving processing of thereduced file in the file cache FLCCH. The invention is not limited tothe above embodiment. As another application example, the ECMA scriptprocessor ECMASP in the advanced application manager ADAMNG shown inFIG. 44 may execute, as a main body, processing based on the followingsequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<ChangeImageSize>

The changeImageSize function is used to scale down a size of an imagecaptured file in File Cache. The scale down ratio is specified by twoparameters, one is denominator and the other is numerator.

These two parameters shall meet the following conditions.

-   -   1<=numerator<=16    -   1<=denominator>=16    -   numerator>=denominator

Parameters:

srcUri of type String

-   -   Specifies uri of the scale down source file. The specified file        format shall follow Capture Image Format and exist in File        Cache.

dstUri of type String

-   -   Specifies uri of the scale down destination file. This uri shall        indicate in File Cache. And when a file specified by this uri        exists, this function shall throw exception.

numerator of type unsigned int

denominator of type unsigned int

-   -   Specify the scaling size. It is determined by        numerator/denominator.

callback of type Function

Specifies the callback function for the state change. The function shallbe the following interface;     void callback(status : int, uri :String) ;    Parameters:     status of type int:      Player.SUCCEEDED:Scale down succeeded      Player.FILE_NOT_FOUND : Specified file is notfound      Player.NOT_ENOUGH_SPACE : There is not enough space     Player.WRONG_FORMAT : The specified file is not CIF file.   uri oftype String:    This parameter indicates the uri for destination file.  Return Value: None   Exceptions:   HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether assigned parameters (numerator and denominator) meetconditions.

If they meet conditions:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw HDDVD_E_ARGUMENT.

3) Start an Scaling Down sequence.

4) Check whether assigned parameters srcUri and dstUri indicatedifferent places.

If they indicates different:

5) Go to step 6).

Otherwise:

5) Stop this sequence and throw HDDVD_E_ARGUMENT.

6) Assign “true” to the changing property.

7) Start an Scaling Down sequence.

8) Return immediately.

Scaling Down sequence is as follows:

1) Check whether the parameter srcUri specify File Cache and thespecified file exists.

If the file is able to be created:

2) Go to step 4).

Otherwise:

2) Call callback with parameter as:

callback (Player.FILE_NOT_FOUND, srcUriz);

3) Go to step 15).

4) Check whether the specified source file follows Capture Image Format.

If the file follows Capture Image Format:

5) Go to step 7).

Otherwise:

5) Call callback with parameter as:

callback (Player.WRONG_FORMAT, srcUri);

6) Go to step 15).

7) Check whether the assigned parameter dstUri does not specify FileCache.

If dstUri does not specify File Cache:

8) Go to step 10).

Otherwise;

Call callback with parameter as:

callback (Player.INVALID_PARAMETER, dstUri);

9) Go to step 15).

10) Check whether there is an enough space to create the scale downedfile.

If dstUri does not specify File Cache:

11) Go to step 13).

Otherwise:

11) Call callback with parameter as:

callback (Player.NOT_ENOUGH_SPACE, dstUri);

12) Go to step 15).

13) Scale down the image stored in the file specified by the assignedparameter srcUri and save it to the file specified by the assignedparameter dstUri.

If saving file has been achieved:

14) Call callback with parameter as:

callback (Player.FINISHED, dstUri);

Otherwise:

14) Call callback with parameter as:

callback (Player.FAILED, dstUri);

15) Assign “false” to the changing property.

The contents of the “changeImageSize” function will be described belowusing FIG. 128. When image size reduction processing is executed, anoriginal image file and an image file after reduction often havedifferent file names (different URIs). Upon starting the API commandprocessing in ST128-1 a, it is checked in ST128-2 a if the setparameters (denominator and numerator values which represent thereduction ratio) satisfy a condition that can be processed by theadvanced content playback unit ADVPL. If the condition is not satisfied,an error message is output in ST128-6 a, and end processing is executed(ST128-7 a ). If it is determined in ST128-2 a that the set parameterssatisfy the condition that can be processed by the advanced contentplayback unit ADVPL, it is checked in ST128-3 a if the URI of the sourcefile and that of a reduced file indicate different locations (filenames). If the URI of the source file matches that of the reduced file,the source file is overwritten by the reduced file, and the contents ofthe source file may be erased. Therefore, the files before and after thereduction must have different file names (different URIs). If the URIshave the same value, an error message is output in ST128-6 a. If it isdetermined in ST128-3 a that the two files have different URI values,the contents of the changing property is set to be “true” in ST128-4 ato indicate “changing”. After the contents of the changing property areset, a “Scaling Down sequence” shown in FIG. 129 is started (ST128-5 a). Upon completion of the “Scaling Down sequence”, the API commandprocessing ends (ST128-7 a ). FIG. 129 shows the contents of the“Scaling Down sequence” used in FIG. 128. Upon starting the “ScalingDown sequence” in ST129-1 b, it is checked first in ST129-2 b if thesaving location of a source file is designated as the file cache FLCCH,and that file is stored in the file cache FLCCH. In this embodiment,since the reduction processing of the file size is executed in the filecache FLCCH, it is the prerequisite that the source file is stored inthe file cache FLCCH, as described above. If the source file is notstored in the file cache FLCCH, “callback” of “unsearchable source file”is called (ST129-3 b ). If the source file is stored in the file cacheFLCCH, it is determined in ST129-4 b if the designated source file iscompliant to a capture image format. If the source file is not compliantto the capture image format, “callback” of “format error” is called(ST129-5 b ). If it is determined in ST129-4 b that the designatedsource file is compliant to the capture image format, it is checkedagain in ST129-6 b if the URI indicating the saving destination of areduced file does not match that of the source file in the file cacheFLCCH at all. If the URI values perfectly match, “callback” of “invalidparameters” is called in ST129-7 b. If it is confirmed in ST129-6 b thatthe URI of the reduced file is different from that of the source file,it is checked in ST129-8 b if the file cache FLCCH has a remainingcapacity large enough to save the reduced file. If the file cache FLCCHdoes not have any sufficient remaining capacity, “callback” of“insufficient remaining capacity” is called in ST129-9 b. If it isconfirmed in ST129-8 b that the file cache FLCCH has a sufficient freearea, an image is read from the source file, a reduced window for theimage is generated, and the generated reduced image is saved as a filein the file cache FLCCH. It is checked in ST129-10 b if the windowreduction processing is made from the source file, and the reduced fileis normally saved in the file cache FLCCH in correspondence with thedesignated URI. If the reduction processing or saving processing hasfailed, “callback” of “saving failure” is called in ST129-11 b. If thereduced window can be normally generated, and the generated reducedwindow can be saved in the file cache FLCCH, “callback” of “completionof window reduction processing” is called in ST129-12 b. Upon completionof the window reduction processing of the image, the contents of thecapturing property are set to be “false” to declare that “capturing” isnot underway (ST129-13 b ), and the “Scaling Down sequence” ends(ST129-14 b ). The control then returns to the procedure of“changeImageSize” in FIG. 128.

As shown in FIG. 16, in this embodiment, the main video MANVD thatrepresents the main title 31, the sub video SUBVD that represents theindependent window 32, the advanced application ADAPL, and the like canbe presented side by side on a single screen. FIG. 84 shows adescription example of the layout information used upon laying outvarious kinds of video information on the screen, as shown in FIG. 16.As shown in FIG. 84C, the layout of respective windows is described inthe video attribute item element VABITM described in the media attributeinformation MDATRI in the playlist PLLST, as shown in FIG. 79D. In orderto change the layout of windows presented to the user, a layout changecan be programmed in advance in the playlist PLLST by utilizing areference method of the media attribute information MDATRI in theplaylist PLLST, as shown in the example of FIG. 84. As described above,even when the layout of windows is set in advance based on the playlistPLLST, the user wants to change the layout of windows shown in, e.g.,FIG. 16. For example, when the main video MANVD that represents the maintitle 31 and the sub video SUBVD that represents the independent window32 are parallelly presented, as shown in FIG. 16, and when the userwants to focus on the main title 31, he or she wants to present the mainvideo MANVD that represents the main title 31 on the full presentationscreen in an enlarged scale. In this way, when a layout different fromthe window layout which is set in advance in the playlist PLLST is to bepresented, the API command “changeLayoutMainVideo” shown in FIG. 130 canbe utilized. As has been described above using FIGS. 128 and 129, theAPI command “changeLayoutMainVideo” has a function of changing only thewindow size upon presenting to the user without changing any primaryenhanced video object data P-EVOB. In this embodiment, the“changeLayoutMainVideo” function can be utilized not only by userdesignation but also by the system processing in the advanced contentplayback unit ADVPL or the processing of the markup MRKUP and scriptSCRPT. However, in case of this embodiment, the window layout is changedbased on a user's instruction in most cases, as described above. Forexample, a control method will be explained below taking as an example acase in which when the main video MANVD that represents the main title31 and the sub video SUBVD that represents the independent window 32 areparallelly presented on a single screen, as shown in FIG. 16, the userwants to enlarge the window size of the main video MANVD that representsthe main title 31 and to present it on the full presentation screen. Asshown in FIG. 28, in this embodiment, the navigation manager NVMNGincludes the user interface engine UIENG, and also includes controlsoftware modules of various input devices such as the remote controlcontroller RMCCTR, mouse controller MUSCTR, and the like. For example,when the user operates to enlarge the window size of the main videoMANVD using a mouse, remote controller, or the like, the mousecontroller MUSCTR or remote control controller RMCCTR issues a userinterface event UIEVT in response to the user's operation. Then, asshown in FIG. 44, the programming engine PRGEN included in the advancedapplication manager ADAMNG in the navigation manager NVMNG receives theuser interface event UIEVT, and begins to search the contents of APIcommands corresponding to the event. Initially, the programming enginePRGEN searches the advanced application scripts ADAPLS for acorresponding API command. If such API command is not found, theprogramming engine PRGEN then searches the default event handler scriptDEVHSP for a corresponding handler script. With the above method, theprogramming engine PRGEN extracts the function of an API command to beissued in response to the user interface event UIEVT. As a result, theprogramming engine PRGEN transfers the obtained “changeLayoutMainVideo”function to the playlist manager PLMNG and presentation engine PRSEN.The presentation engine PRSEN incorporates the decoder engine DCDEN, asshown in FIG. 30, and the decoder engine DCDEN includes the scalerSCALER, as shown in FIG. 37. When the presentation engine PRSEN receivesthe API command of the “changeLayoutMainVideo” function, the scalerSCALER shown in FIG. 37 works to change the presentation window size ofthe main video MANVD. The invention is not limited to the aboveembodiment. As another application example, the ECMA script processorECMASP in the advanced application manager ADAMNG shown in FIG. 44 mayexecute, as a main body, processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

FIG. 130 is a flowchart showing the contents of the“changeLayoutMainVideo” function executed by the navigation managerNVNG.

<ChangeLayout>

The changeLayout function is used to change the layout of Main Video.When the state of Player is the play state, Application is able to callthis function with the duration argument. When the state of Player isthe pause state, Application is able to call this function, but in thiscase, the duration argument shall be “00:00:00:00”, and this change isreflected after resuming from pause state. In other status, Player shallnot call this function. The duration argument indicates that a mainvideo frame changes over this time, and a starting time shall be decidedby Player.

Parameters:

X of type int

-   -   Specifies the x value of the origin of Main Video in Canvas        coordinate system. This property shall be even number.    -   Valid Range: −231 to 231−1

y of type int

-   -   Specifies the y value of the origin of Main Video in Canvas        coordinate system. This property shall be even number.    -   Valid Range: −231 to 231−1

scale of type VideoScale

-   -   Specify the scaling size of Main Video. It is determined by        numerator/denominator.

cropX of type unsigned int

-   -   Specify the x-coordinate value of cropping rectangle of Main        Video in Main Video coordinate system. The value of this        property shall be even number.

cropY of type unsigned int

-   -   Specify the x-coordinate value of cropping rectangle of Main        Video in Main Video coordinate system. The value of this        property shall be even number.

cropWidth of type unsigned int

-   -   Specify the width of cropping rectangle of Main Video in Main        Video coordinate system. The value of this property shall be        even number.

cropHeight of type unsigned int

-   -   Specify the height of cropping rectangle of Main Video in Main        Video coordinate system. The value of this property shall be        even number.

duration of type String

-   -   Specify the duration time for changing Main Video size.    -   Valid Range: “00:00:00:00”-“00:00:03:00”

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

DDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check the changing property.

If it is “false”:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL.

3) Check the playState property of the Playlist object.

If the value is same as the PLAYSTATE_PLAY property of the Playlistobject.

4) Whether Scheduled Pause does not occur during the changing scaling:

If it does not occur:

5) Go to step 6).

Otherwise:

5) Stop this sequence and throw HDDVD_E_INVALIDCALL.

If the value is same as the PLAYSTATE_PAUSE property of the Playlistobject and the duration argument is “00:00:00:00”:

4) Go to step 6).

Otherwise:

4) Stop this sequence and throw HDDVD_E_INVALIDCALL.

6) Check assigned parameters are within the valid range.

If all parameters are within valid range:

7) Go to step 8).

Otherwise:

7) Stop this sequence and throw HDDVD_E_ARGUMENT.

8) Assign “true” to the changing property.

9) Start Main Video Animated Scaling process.

10) Return immediately.

Main Video Animated Scaling process is as follows:

1) Change Main Video layout from current setting(position, crop andscale) to specified setting for specified duration. During changing,Player may change position, scale and crop properties.

2) After changing, change properties.

-   -   Assign the parameter x to the x property.    -   Assign the parameter y to the y property.    -   Assign the parameter scale to the scale property.    -   Assign the parameter cropX to the cropX property.    -   Assign the parameter cropY to the cropY property.    -   Assign the parameter cropWidth to the cropWidth property.    -   Assign the parameter cropHeight to the cropHeight property.

3) Assign “false” to the changing property.

The “changeLayoutMainVideo” function is utilized only to change thelayout of the main video MANVD. As the conditions for changing thelayout of the main video MANVD, this embodiment has the following threeconditions:

1. when the changing property of another video is not “changing” ;

2. when the playback state of the main video MANVD is “playing”, and nosetting is made in a pause at element PAUSEL in the scheduled controlinformation SCHECI; and

3. when the playback state is “pausing”, and the pause period is “0”.

Upon starting the API command processing in ST130-1 a, it is initiallychecked if the above three conditions are satisfied. If at least one ofthese conditions is not satisfied, an error message is issued in ST130-8a, and the API command end processing (ST130-10 a) is executed. That is,it is checked in ST130-2 a if the changing property is “false” to see ifanother video is not “changing”. It is then checked in ST130-3 a if the“playState” property is “playing”. If the “playState” property is“playing”, it is further checked in ST130-4 a if a pause eventdesignated by the pause at element PAUSEL in the scheduled controlinformation SCHECI takes place. In this embodiment, the titleinformation TTINFO in the playlist PLLST can describe the scheduledcontrol information SCHECI, as shown in FIG. 75, and has a structure inwhich the time progress (count-up) of the title timeline can be pausedat a time that matches the designated position (time) information TTTIMEon the title timeline designated in the pause at element PAUSEL duringplayback of a specific title, as shown in FIG. 75E. When such pauseevent takes place during changing of the window size of the main videoMANVD presented on the screen in accordance with a user's request, theprocessing in the advanced content playback unit ADVPL readily causes atrouble. Even if the advanced content playback unit ADVPL worksnormally, the user may find it disrupting (when the window is pausedwhile changing the window size of the main video MANVD to be presented,the user may think that some trouble has occurred). Therefore, if apause event occurs in ST130-4 a, it is set to inhibit activation of the“changeLayoutMainVideo” function. If it is determined in ST130-3 a thatthe “playState” property is not “playing”, it is checked first inST130-5 a if the “playState” property is “pausing”. If the “playState”property is “pausing”, only when the pause period is “00:00:00:00”, thelayout of the main video MANVD is allowed to be changed. In this manner,when the user intentionally pauses playback, even if the window of themain video MANVD changes, he or she does not find it disrupting.However, when the pause period is set to have a specific time period inST130-5 a, since the time progress (count-up) of the title timeline TMLErestarts after an elapse of the designated time period, if the videopicture begins to move at an instance when the user changes the size ofthe main video MANVD, he or she may think that a trouble has occurred.In this embodiment, by imposing the conditions of ST130-4 a and ST130-5a, the user can be prevented from finding the presentation disruptingupon changing the presentation size of the main video MANVD, and theprocessing in the advanced content playback unit ADVPL can besimplified, thus improving the reliability of the processing. If all theaforementioned conditions are satisfied, it is checked in ST130-6 a ifthe designated parameters fall within the valid range. If the designatedparameters fall within the valid range, the contents of the changingproperty are set to be “true” in ST130-7 a to clearly specify“changing”. With this setting, the size change processing of anothervideo (e.g., sub video SUBVD) is inhibited from being simultaneouslyexecuted. In this embodiment, by executing the processing in ST130-7 a,the size change processing of a plurality of different video picturesand simultaneous processing of a plurality of different API commands areprevented, thus simplifying the processing in the advanced contentplayback unit ADVPL and improving the reliability. After “changing” isclearly specified in ST130-7 a, “Main Video Animated Scaling” shown inFIG. 131 starts (ST130-9 a ). Upon completion of the processing of the“Main Video Animated Scaling”, the API command processing ends inST130-10 a. FIG. 131 is a flowchart showing the contents of the “MainVideo Animated Scaling”. Upon starting the “Main Video Animated Scaling”in ST131-1 b, the change processing of the layout of the main videoMANVD is executed in ST131-2 b. After the layout is changed, variouskinds of property information are changed in ST131-3 b. As the contentschanged by the advanced content playback unit ADVPL in this embodiment,the presentation location and presentation position of the main videoMANVD, and the presentation location and presentation size of the windowafter bordering (trimming) are changed. That is, the detailed contentsof property information to be changed in ST131-3 b are summarized asfollows:

-   -   the X-coordinate value on the canvas coordinate system CNVCRD of        the start point position of the window of the main video MANVD        (see FIG. 40);    -   the Y-coordinate value on the canvas coordinate system CNVCRD of        the start point position of the window of the main video MANVD        (see FIG. 40);    -   the presentation window size of the main video MANVD;    -   the X-coordinate value on the canvas coordinate system CNVCRD of        the start point position of the window after bordering        (trimming) of the main video MANVD;    -   the Y-coordinate value on the canvas coordinate system CNVCRD of        the start point position of the window after bordering        (trimming) of the main video MANVD;    -   the width value of the window after bordering (trimming) of the        main video MANVD; and    -   the height value of the window after bordering (trimming) of the        main video MANVD.

After the various kinds of property information are changed in ST131-3b, the changing property is set to be “false” in ST131-4 b to indicatethat “changing” is not underway. In this way, execution of anotherprocessing (e.g., the window size change processing of the sub videoSUBVD or the like) is permitted. Upon completion of a series of steps ofthe “Main Video Animated Scaling”, the processing ends in ST131-5 b, andthe control returns to the procedure of “changeLayoutMainVideo” shown inFIG. 130.

As shown in FIG. 16, in this embodiment, the main video MANVD thatrepresents the main title 31, the sub video SUBVD that represents theindependent window 32, and the advanced application ADAPL thatrepresents various buttons, can be simultaneously presented on a singlescreen. The presentation locations and presentation sizes of respectivewindows shown in FIG. 16 are set in advance in the playlist PLLST, asshown in FIG. 84. That is, the playlist PLLST includes the mediaattribute information MDATRI, as shown in FIG. 79A, and the mediaattribute information MDATRI includes a video attribute item elementVABITM, as shown in FIG. 79B. As shown in FIG. 79D, the video attributeitem element VABITM designates the presentation size and presentationposition of the designated video picture in the window. As shown in FIG.84A, when the object mapping information OBMAPI and track numberassignment information included in the title information TTINFO in theplaylist PLLST refer to the video attribute item element VABITM, thewindow size and layout position on the window to be presented to theuser for each sub video track can be designated. In FIG. 16, when themain video MANVD that represents the main title 31, and the sub videoSUBVD that represents the independent window 32 for a commercial aresimultaneously displayed, and a user's favorite commercial is presented,if the user wants to watch the commercial contents in more detail, he orshe desires to present the sub video SUBVD that forms the independentwindow 32 for a commercial in an enlarged scale on the full screen, andto focus on the specific commercial. Therefore, upon changing the windowsize and presentation window position of the sub video SUBVD, which areset in advance in the playlist PLLST, using a user interface or thelike, the user can use the API command function “changeLayoutSubVideo”shown in FIG. 132. As shown in FIG. 28, the navigation manager NVMNG inthe advanced content playback unit ADVPL in this embodiment has the userinterface engine UIENG, which includes the remote control controllerRMCCTR and front panel controller FRPCTR, or the keyboard controllerKBDCTR, mouse controller MUSCTR, and the like as standard components.When the user inputs to change the presentation window size andpresentation position of the sub video SUBVD using the keyboard, mouse,or remote controller, a user operation UOPE is generated. The userinterface engine UIENG transfers a user interface event UIEVT based onthe user operation UOPE to the advanced application manager ADAMNG inthe navigation manager NVMNG. Upon reception of the user interface eventUIEVT, the programming engine PRGEN in the advanced application managerADAMNG shown in FIG. 44 begins to search for API command contents to beissued in response to the user interface event UIEVT using the advancedapplication script ADAPLS. If the advanced application script ADAPLSdoes not include any API command contents to be issued in response tothe user interface event UIEVT, the programming engine PRGEN searchesthe default handler script DEVHSP to finally extract the correspondingfunction in API commands. Based on the extraction result, the advancedapplication manager ADAMNG issues the API command function“changeLayoutSubVideo” toward the playlist manager PLMNG andpresentation engine PRSEN. The processing contents of the“changeLayoutSubVideo” function in the API command shown in FIG. 132 areexecuted by the aforementioned playlist manager PLMNG or bycollaboration of the playlist manager PLMNG and presentation managerPRSEN. As described above, the “changeLayoutSubVideo” function is issuedbased on the user operation UOPE in most cases. However, this embodimentis not limited to such case. For example, the above API command may beautomatically issued by systematic processing in the advanced contentplayback unit ADVPL or the “changeLayoutSubVideo” function may be issuedbased on the contents programmed in advance by collaboration of themarkup MRKUP and script SCRPT, as shown in FIG. 105. The invention isnot limited to the above embodiment. As another application example, theECMA script processor ECMASP in the advanced application manager ADAMNGshown in FIG. 44 may execute, as a main body, processing based on thefollowing sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

The flowchart showing the contents of the “changeLayoutSubVideo”function as an API command will be described below using FIG. 132.

<ChangeLayout>

The changeLayout function is used to change the layout of Sub Video.When Sub Video is synchronized to Title Timeline, the callingrestriction is same as the changeLayout function of MainVideo. When SubVideo is not synchronized to Title Timeline, Application is able to usethis function even during trick play. However, in such case, Applicationis not able to control Secondary Video Player during the scaling.

Parameters:

X of type int

-   -   Specifies the x value of the origin of Sub Video in Canvas        coordinate system. This property shall be even number.    -   Valid Range: −231 to 231−1

y of type int

-   -   Specifies the y value of the origin of Sub Video in Canvas        coordinate system. This property shall be even number.

Valid Range: −231 to 231−1

scale of type VideoScale

-   -   Specify the scaling size of Sub Video. It is determined by        numerator/denominator.

cropX of type unsigned int

-   -   Specify the x-coordinate value of cropping rectangle of Sub        Video in Sub Video coordinate system. The value of this property        shall be even number.

cropY of type unsigned int

-   -   Specify the x-coordinate value of cropping rectangle of Sub        Video in Sub Video coordinate system. The value of this property        shall be even number.

cropWidth of type unsigned int

-   -   Specify the width of cropping rectangle of Sub Video in Sub        Video coordinate system. The value of this property shall be        even number.

cropHeight of type unsigned int

-   -   Specify the height of cropping rectangle of Sub Video in Sub        Video coordinate system. The value of this property shall be        even number.

duration of type unsigned int

-   -   Specify the duration time for changing Sub Video size. This        argument is represented by Timecode.

Valid Range: “00:00:00:00”-“00:00:03:00”

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check the changing property of the SubVideo object.

If all parameters are “false”:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL.

3) Check whether Sub Video is synchronized to Title Timeline.

If Sub Video is synchronized to Title Timeline:

4) Check the playState property of the Playlist object.

If the value is same as the PLAYSTATE_PLAY property of the Playlistobject:

4) Whether Scheduled Pause does not occur during the changing scaling:

If it does not occur:

5) Go to step 7).

Otherwise:

5) Stop this sequence and throw HDDVD_E_INVALIDCALL.

6) Go to step 7).

If the value is same as the PLAYSTATE_PAUSE property of the Playlistobject and the duration argument is “00:00:00:00”:

5) Go to step 7).

Otherwise:

5) Stop this sequence and throw HDDVD_E_INVALIDCALL.

Otherwise:

4) Check the playState property of the SecondaryVideoPlayer object .

If the value is same as the PLAYSTATE_PLAY property of theSecondaryVideoPlayer object:

5) Go to step 7).

If the value is same as the PLAYSTATE_PAUSE property of theSecondaryVideoPlayer object and the duration argument is “00:00:00:00”:

5) Go to step 7).

Otherwise:

5) Stop this sequence and throw HDDVD_E_INVALIDCALL.

7) Check assigned parameters are within the valid range.

If all arguments are within valid range:

8) Go to step 9).

Otherwise:

8) Stop this sequence and throw HDDVD_E_ARGUMENT.

9) Assign “true” to the changing property of the SubVideo object.

10) Start Sub Video Animated Scaling process.

11) Return immediately.

Sub Video Animated Scaling process is same as Main Video AnimatedScaling process except that this process control the scaling of SubVideo instead of Main Video.

The “changeLayoutSubVideo” function is used to change the layout of thesub video SUBVD. When the sub video SUBVD whose layout is to be changedis synchronized with the title timeline TMLE, the limitation conditionsused to check if the “changeLayoutSubVideo” function is to be executedare the same as those used upon activation of the function for changingthe layout of the main video MANVD shown in FIG. 130. The checkingcontents of the limitation conditions correspond to steps ST132-4 a toST132-7 a shown in FIG. 132. By contrast, when the sub video SUBVD whoselayout is to be changed is not presented and played back in synchronismwith the title timeline TMLE, the “changeLayoutSubVideo” function can beused only during a trick play mode. However, in this case as well, thesecondary video player SCDVP (see FIG. 35) cannot be controlled duringsize changing of the sub video SUBVD. That is, as shown in FIG. 30, thepresentation engine PRSEN includes the secondary video player SCDVP anddecoder engine DCDEN. Also, the decoder engine DCDEN includes the scalerSCALER, as shown in FIG. 37, and the window size and layout position ofthe sub video SUBVD to be presented to the user are changed by changingonly the processing of this scaler SCALER upon activation of the“changeLayoutSubVideo” function. Therefore, the “changeLayoutSubVideo”function need not perform any control for the secondary video playerSCDVP. The “changeLayoutSubVideo” function cannot be executed duringchanging the window of the sub video SUBVD, and it must be confirmedthat the presentation window of the sub video SUBVD is not being changedfor some other reasons. Therefore, immediately after the API commandprocessing starts in ST132-1 a, it is checked in ST132-2 a if thechanging property of the sub video SUBVD is “false” (not “changing). Ifthe presentation window of the sub video SUBVD is being changed, anerror message is output in ST132-14 a, and the API command processingends (ST132-15 a ). Next, it is checked if the sub video SUBVD ispresented in synchronism with the title timeline TMLE. If the sub videoSUBVD is synchronously played back, the process advances to ST132-4 a;otherwise, the process advances to ST132-8 a. If the sub video SUBVD ispresented in synchronism with the title timeline TMLE, the sameprocessing as that for confirming the limitation conditions in the“changeLayoutMainVideo” function for the main video MANVD shown in FIG.130 is executed, as described above. That is, the “playState” propertyin the playlist PLLST is checked to see if it indicates “playing” or“pausing”. If the “playState” property indicates “playing” (ST132-4 a ),it is confirmed in ST132-5 a if no pause event takes place duringplayback. On the other hand, if the “playState” property in the playlistPLLST indicates “pausing” (ST132-6 a ), it is checked in ST132-7 a ifthe pause period is “00:00:00:00” to confirm the condition thatpresentation of the sub video SUBVD does not start during changing ofthe presentation window size and presentation position of the sub videoSUBVD while the playback is paused. As has been described using FIG.130, when the presentation window size or presentation position of thesub video SUBVD is changed while the time on the title timeline TMLEprogresses at a normal speed, or the time progress is paused, thesituation must remain unchanged. This is because when the time progresssituation of the title timeline TMLE changes during changing of thewindow size or presentation window position of the sub video SUBVD, theuser may think that some trouble has occurred, thus finding itdisrupting. In this way, since the progress situation of the titletimeline TMLE is fixed during changing of the layout of the sub videoSUBVD, the user can be prevented from finding the presentationdisrupting, and the processing of the advanced content playback unitADVPL is simplified, thus assuring high reliability for the processingof the advanced content playback unit ADVPL. Next, if it is determinedin ST132-3 a that the sub video SUBVD is not presented in synchronismwith the title timeline TMLE, it is checked in ST132-8 a if the“playState” property of the secondary video player SCDVP is “playing”.If the “playState” property is “playing”, the layout change processingof the sub video SUBVD is executed. If the “playState” property is not“playing”, but it is “pausing” (ST132-9 a ), only when the pause periodis “00:00:00:00” (ST132-10 a ), the layout of the sub video SUBVD isallowed to be changed. Even when the sub video SUBVD is presentedasynchronous with the title timeline TMLE, the playback mode (playing orpausing) of the sub video SUBVD must be basically prevented from beingchanged during layout changing of the sub video SUBVD. When the subvideo SUBVD is presented asynchronous with the title timeline TMLE, itis not influenced by the control of the pause at element PAUSEL inST132-5 a. Hence, if the “playState” property of the secondary videoplayer is “PLAYSTATE_PLAY” (playing) in ST132-8 a, since the sub videoSUBVD is never stopped during playback, the process can directly jump toST132-11 a. The contents in ST132-5 a will be described below. As shownin FIG. 75, the scheduled control information SCHECI is defined in thetitle information TTINFO in the playlist PLLST, and the time progress(count-up) of the title timeline can be paused at a time that matchesthe designated position (time) information TTTIME on the title timelinedesignated in the pause at element PAUSEL during playback of a specifictitle, as shown in FIG. 75E. Since the pause at element PAUSEL controlsthe time progress of the title timeline TMLE, when the sub video SUBVDis played back and presented asynchronous with the title timeline TMLE,it is not influenced by information designated by the pause at elementPAUSEL. When various determination conditions are checked in ST132-3 ato ST132-10 a, and some condition is not satisfied, an error message isoutput in ST132-14 a, and the API command processing ends (ST132-15 a ).If the series of determination conditions are satisfied, it is checkedin ST132-11 a if the designated parameter values fall within the validrange. If the designated parameter values fall within the valid range,the changing property of the SUBVD is set to be “true” to indicate“changing” of the sub video SUBVD (ST132-12 a ). After that, “Sub VideoAnimated Scaling” in ST132-13 a starts. Upon completion of theprocessing of the “Sub Video Animated Scaling”, the API commandprocessing ends in ST132-15 a. FIG. 133 shows the processing contents ofthe “Sub Video Animated Scaling” in ST132-13 a. The processing of the“Sub Video Animated Scaling” shown in FIG. 133 corresponds to that inwhich the playlist manager PLMNG (or the programming engine PRGEN in theadvanced application manager ADAMNG in rare cases) controls thepresentation engine PRSEN. Upon changing the layout of the sub videoSUBVD, the scaler SCALER in the presentation engine PRSEN is controlledto change the layout of the sub video SUBVD to be presented to the user,as shown in FIG. 37. Upon starting the processing of the “Sub VideoAnimated Scaling” in ST133-1 b, the layout of the sub video SUBVD ischanged from the currently presented one to the designated conditions inST133-2 b. After that, various kinds of property information are changedin ST133-3 b. Various kinds of property information in ST133-3 bcorrespond to the content of ST131-3 b in FIG. 131. More specifically,various kinds of property information correspond to the presentationposition information and presentation size of the sub video SUBVD, andthe presentation position and presentation size of the window afterbordering. That is, various kinds of property information include;

-   -   the X-coordinate value on the canvas coordinate system CNVCRD        shown in FIG. 40 of the start point position of the window of        the sub video SUBVD;    -   the Y-coordinate value on the canvas coordinate system CNVCRD        shown in FIG. 40 of the start point position of the window of        the sub video SUBVD;    -   the presentation size information of the sub video SUBVD;    -   the X-coordinate value on the canvas coordinate system CNVCRD        shown in FIG. 40 of the start point position of the window after        bordering (trimming) of the sub video SUBVD;    -   the Y-coordinate value on the canvas coordinate system CNVCRD        shown in FIG. 40 of the start point position of the window after        bordering (trimming) of the sub video SUBVD;    -   the width information of the window after bordering (trimming)        of the sub video SUBVD; and    -   the height information of the window after bordering (trimming)        of the sub video SUBVD.

Upon completion of changing of the layout and various kinds of propertyinformation of the sub video SUBVD, the changing property of the subvideo SUBVD is set to be “false” in ST133-4 b to indicate that the subvideo SUBVD is not “changing”. After that, the processing ends inST13S-5 b, and the control returns to the “changeLayoutSubVideo”function in FIG. 132.

FIGS. 134 to 136 show API commands used to control audio information ofthose defined in this embodiment together. The “setVolume” functionshown in FIG. 134 is used to change the audio volume value. The“setMixingSubAudio” function shown in FIG. 135 is used upon execution ofdownmix processing of sub audio channels. Furthermore, the“stopEffectAudio” function shown in FIG. 136 is used when playbackpresentation of an effect audio EFTAD is stopped. In these cases, atrigger upon issuance of a corresponding API command is often obtainedunder the following three conditions:

1. user's designation;

2. when the corresponding function is programmed in advance in themarkup MRKUP and script SCRPT; or

3. a case based on a systematic trigger generated in the advancedcontent playback unit ADVPL.

In this embodiment, the contents of condition 1 of the above triggershave a highest frequency of occurrence. In case of an API commandcorresponding to the audio control, the user normally makes controlusing the remote controller. As shown in FIG. 28, the user interfaceengine UIENG in the navigation manager NVMNG of this embodimentincorporates the remote control controller RMCCTR. When the user triesto change an audio to be played back and presented to the user (when heor she controls the remote controller), a user operation UOPE isgenerated. Based on this operation, the user interface engine UIENGissues a corresponding user interface event UIEVT to the advancedapplication manager ADAMNG. Then, as shown in FIG. 44, the programmingengine PRGEN in the advanced application manager ADAMNG extracts thefunction contents corresponding to that event from the advancedapplication script ADAPLS or default event handler script DEVHSP, andissues various API commands shown in FIGS. 134 to 136 to thepresentation engine PRSEN and playlist manager PLMNG based on theextraction result. Upon issuance of the API commands shown in FIGS. 134to 136, the playlist manager PLMNG and presentation engine PRSEN executecollaboration processing to execute these commands. Upon changing anaudio to be finally played back and presented to the user, the“setVolume” function shown in FIG. 134 controls the audio decoder in thedecoder engine DCDEN shown in FIG. 37. The “setMixingSubAudio” functionshown in FIG. 135 applies processing control to the audio mixing engineADMXEN shown in FIG. 38. The “stopEffectAudio” function shown in FIG.136 controls the sound decoder SNDDEC in the advanced applicationpresentation engine AAPEN shown in FIG. 42 to execute processing. Theinvention is not limited to the above embodiment. As another applicationexample, the ECMA script processor ECMASP in the advanced applicationmanager ADAMNG shown in FIG. 44 may execute, as a main body, processingbased on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<SetVolumes>

The setVolumes function is used to change audio volume for each speaker.

Parameters:

1 of type unsigned int

-   -   Specifies the audio volume of Left output.    -   Valid Range: 0-255

r of type unsigned int

-   -   Specifies the audio volume of Right output.    -   Valid Range: 0-255

c of type unsigned int

-   -   Specifies the audio volume of Center output.    -   Valid Range: 0-255

Is of type unsigned int

-   -   Specifies the audio volume of Left Surround output.    -   Valid Range: 0-255

rs of type unsigned int

-   -   Specifies the audio volume of Right Surround output.

Valid Range: 0-255

lb of type unsigned int

-   -   Specifies the audio volume of Left Back output.    -   Valid Range: 0-255

rb of type unsigned int

-   -   Specifies the audio volume of Right Back output.    -   Valid Range: 0-255

Ife of type unsigned int

-   -   Specifies the audio volume of Sub Woofer output.    -   Valid Range: 0-255

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether all assigned arguments are less or equal than 255, andmeets Total Volume Condition

If they meet conditions:

2) Assign arguments to properties of Volume object for Main Audio.

-   -   Assign argument I to Player.audio.main. channels [‘left’]    -   Assign argument r to Player.audio.main.channels [‘right’]    -   Assign argument c to Player.audio.main.channels [‘center’]    -   Assign argument is to Player.audio.main.channels [‘leftS’]    -   Assign argument rs to Player.audio.main.channels [‘rightS’]    -   Assign argument lb to Player. audio.main.channels [‘leftB’]    -   Assign argument rb to Player.audio.main.channels [‘rightB’]    -   Assign argument lfe to Player.audio.main.channels [‘lfe’]

3) Change volume settings.

Otherwise:

2) Throw an exception, HDDVD_E_ARGUMENT

FIG. 134 is a flowchart showing the contents of the “setVolume” functionof API commands. In this embodiment, the volume value of a tone volumeto be output to each speaker is set to be a value ranging from 0 to 255.Therefore, a value smaller than 0 or a value exceeding 255 as a volumevalue to be set cannot be used to set a speaker volume value. Thus,immediately after the API command processing starts in ST134-1 a, it ischecked in ST134-2 a if all the designated parameter values are equal toor smaller than 255. Furthermore, it is checked if all the designatedparameter values meet overall volume conditions. If all the designatedparameter values do not meet the overall volume conditions, an errormessage is output in ST134-4 a, and the processing ends in ST134-6 a. Ifall the designated parameter values meet the conditions in ST135-2 b,the designated parameter values are as volume property values of themain video MANVD in ST134-3 a. The parameter values in this embodimentinclude:

-   -   the volume setting value of a left speaker;    -   the volume setting value of a right speaker;    -   the volume setting value of a center speaker;    -   the volume setting value of a left surround speaker;    -   the volume setting value of a right surround speaker;    -   the volume setting value of a left rear speaker;    -   the volume setting value of a right rear speaker; and    -   the volume setting value of a woofer;

After the parameter values are set in ST134-3 a, audio output values arechanged in correspondence with the volume property values in ST134-5 a.As described above, the processing in ST134-5 a changes the values ofthe audio decoder shown in FIG. 37 or that in the decoder engine DCDENshown in FIG. 42.

<SetMixing>

The setMixing function is used to mix Sub Audio channel down into audiooutput channel.

Parameters:

ltoL of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into Left output channel.    -   Valid Range: 0-255

ltoR of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into Right output channel.    -   Valid Range: 0-255

ltoC of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into Center output channel.    -   Valid Range: 0-255

ltoLs of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into Left Surround output channel.    -   Valid Range: 0-255

ltoRs of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into Right Surround output channel.    -   Valid Range: 0-255

ltoLb of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into Left Back output channel.    -   Valid Range: 0-255

ltoRb of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into audio output Right Back output channel.    -   Valid Range: 0-255

ltoLfe of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Left channel down        into Sub Woofer output channel.    -   Valid Range: 0-255

rtoL of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Left output channel.    -   Valid Range: 0-255

rtoR of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Right output channel.    -   Valid Range: 0-255

rtoc of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Center output channel.    -   Valid Range: 0-255

rtoLs of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Left Surround output channel.    -   Valid Range: 0-255

rtoRs of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Right Surround output channel.    -   Valid Range: 0-255

rtoLb of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Left Back output channel.    -   Valid Range: 0-255

rtoRb of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Right Back output channel.    -   Valid Range: 0-255

rtoLfe of type unsigned int

-   -   Specifies the mixing volume from Sub Audio Right channel down        into Sub Woofer output channel.    -   Valid Range: 0-255

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether all assigned arguments are less or equal than 255, andmeets Total Volume Condition

If they meet conditions:

2) Assign arguments to properties of Audio object for Sub Audio.

-   -   Assign argument ItoL to Player.audio.sub.channels        [‘left’].mix[‘left’]    -   Assign argument ltoR to        Player.audio.sub.channels[‘left’].mix[‘right’]    -   Assign argument ltoC to Player.audio.sub.channels        [‘left’].mix[‘center’]    -   Assign argument ltoLs to Player.audio.sub.channels        [‘left’].mix[‘leftS’]    -   Assign argument ltoRs to Player.audio.sub.channels        [‘left’].mix[‘rightS’]    -   Assign argument ltoLb to        Player.audio.sub.channels[‘left’].mix[‘leftB’]    -   Assign argument ltoRb to        Player.audio.sub.channels[‘left’].mix[‘rightR’]    -   Assign argument ltoLfe to        Player.audio.sub.channels[‘left’].mix[‘lfe’]    -   Assign argument rtoL to Player.audio.sub.channels        [‘right’].mix[‘left’]    -   Assign argument rtoR to        Player.audio.sub.channels[‘right’].mix[‘right’]    -   Assign argument rtoC to Player.audio.sub.channels        [‘right’].mix[‘center’]    -   Assign argument rtoL to Player.audio.sub.channels        [‘right’].mix[‘leftS’]    -   Assign argument rtoRs to        Player.audio.sub.channels[‘right’].mix[‘rightS’]    -   Assign argument rtoLb to Player.audio.sub.channels        [‘right’].mix[‘leftB’]    -   Assign argument rtoRb to        Player.audio.sub.channels[‘right’].mix[‘rightB’]    -   Assign argument rtoLfe to        Player.audio.sub.channels[‘right’].mix[‘lfe’]

3) Change mixing down volume setting.

Otherwise

2) Throw an exception, HDDVD_E_ARGUMENT

FIG. 135 is a flowchart showing the contents of the “setMixingSubAudio”function of API commands. Since each speaker volume value is set to havea value ranging from 0 to 255, the volume value must be set to be equalto or smaller than 255 in FIG. 135. Hence, immediately after the APIcommand processing starts in ST135-1 b, it is checked if all thedesignated parameter values are equal to or smaller than 255.Furthermore, it is checked in ST135-2 b if all the designated parametervalues meet overall volume conditions. If the conditions are notsatisfied, an error message is output in ST135-4 b, and the processadvances to processing end step ST135-6 b. If all the designatedparameter values are equal to or smaller than 255 and meet the overallvolume conditions in ST135-2 b, the designated parameter values are setas audio property values of the sub audio SUBAD. The audio propertyvalues at this time have the following contents:

-   -   the downmix value used when an audio to be originally        presentation-output to the left speaker is downmixed and is        presentation-output to the left speaker;    -   the downmix value used when an audio to be originally        presentation-output to the center speaker is downmixed and is        presentation-output to the left speaker;    -   the downmix value used when an audio to be originally        presentation-output to the left surround speaker is downmixed        and is presentation-output to the left speaker;    -   the downmix value used when an audio to be originally        presentation-output to the right surround speaker is downmixed        and is presentation-output to the left speaker;    -   the downmix value used when an audio to be originally        presentation-output to the left rear speaker is downmixed and is        presentation-output to the left speaker;    -   the downmix value used when an audio to be originally        presentation-output to the right rear speaker is downmixed and        is presentation-output to the left speaker;    -   the downmix value used when an audio to be originally        presentation-output to the woofer is downmixed and is        presentation-output to the left speaker;    -   the downmix value used when an audio to be originally        presentation-output to the left speaker is downmixed and is        presentation-output to the right speaker;    -   the downmix value used when an audio to be originally        presentation-output to the right speaker is downmixed and is        presentation-output to the right speaker;    -   the downmix value used when an audio to be originally        presentation-output to the center speaker is downmixed and is        presentation-output to the right speaker;    -   the downmix value used when an audio to be originally        presentation-output to the left surround speaker is downmixed        and is presentation-output to the right speaker;    -   the downmix value used when an audio to be originally        presentation-output to the right surround speaker is downmixed        and is presentation-output to the right speaker;    -   the downmix value used when an audio to be originally        presentation-output to the left rear speaker is downmixed and is        presentation-output to the right speaker;    -   the downmix value used when an audio to be originally        presentation-output to the right rear speaker is downmixed and        is presentation-output to the right speaker; and    -   the downmix value used when an audio to be originally        presentation-output to the woofer is downmixed and is        presentation-output to the right speaker.

After the parameter values are set in ST135-3 b, the downmix volumevalues are changed in correspondence with the audio property values inST135-5 b. The processing in ST135-5 b controls the audio decoder in thedecoder engine DCDEN shown in FIG. 37 or that in the decoder engineDCDEN shown in FIG. 42, or the sound mixer SNDMIX in the audio mixingengine ADMXEN in the AV renderer AVRND shown in FIG. 42. After thedownmix volume values are changed in ST135-5 b, the processing ends inST135-6 b.

<Stop>

The stop function is used to stop the Effect Audio.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the value of the playing property.

If it is “true”:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL

3) Stop the presentation of Effect Audio.

4) Assign false to the playing property of this object.

FIG. 136 is a flowchart showing the contents of the “stopEffectAudio”function of API commands. The “stopEffectAudio” function performsprocessing for stopping playback presentation of an effect audio EFTAD.The processing of this API function serves its purpose only duringplayback presentation of the effect audio EFTAD. Therefore, immediatelyafter the API command processing starts in ST136-1 c, it is checked inST136-2 c if a “playing” property is “true”. If the “playing” propertyis “false”, this means that the effect audio EFTAD is not played back.Hence, since the API command processing does not serve its purpose, anerror message is output in ST136-4 c, and the processing ends in ST136-6c. By contrast, if the “playing” property is “true” in ST136-2 c, sincethe playback state of the corresponding effect audio EFTAD is “playing”,the playback presentation of the effect audio EFTAD is stopped inST136-3 c. After that, “false” is set in the “playing” property inST136-5 c to indicate that the playback state is not “playing”, and theAPI command processing ends in ST136-6 c.

FIGS. 137 and 138 are flowcharts showing the contents of the“playEffectAudio” function of API commands. The “playEffectAudio”function performs playback presentation of the effect audio EFTAD. A bigcharacteristic feature of this embodiment lies in that playback of theeffect audio EFTAD is guaranteed. The effect audio EFTAD can be used inthe advanced application ADAPL, and is linked from the markup MRKUP, asshown in FIG. 16. FIG. 16 shows a screen example to be presented to theuser in this embodiment. Various buttons from the help icon 33 to the FFbutton 38 which are located on the lower side in FIG. 16 are presentedby the advanced application ADAPL. For example, when the user pressesthe play button 35 or stop button 34, a specific sound is generatedimmediately after the user presses the button, so as to indicatepressing of that button to the user, thus informing the user of thisfact in this embodiment. For example, an audio that informs the user ofpressing upon pressing of each button is called an effect audio EFTAD.As shown in FIG. 14, the effect audio EFTAD used in the advancedapplication ADAPL is stored as an independent audio file, which recordsaudio information in the format of a WAV file. In the markup MRKUP, asshown in FIG. 91, an object element OBJTEL described in a body elementBODYEL refers to the effect audio file EFTAD, thus pasting the effectaudio EFTAD in the markup MRKUP. In this way, in this embodiment, anaudio output of the effect audio EFTAD is programmed in advance in themarkup MRKUP. However, the audio output of the effect audio EFTAD mayirritate some users, and such users may want to inhibit the audio outputof the effect audio EFTAD. In such case, by issuing the API command“stopEffectAudio” shown in FIG. 136 based on a user's input, the effectaudio EFTAD can be stopped. Meanwhile, after a specific user sets toinhibit the audio output of the effect audio EFTAD by executing the“stopEffectAudio” function shown in FIG. 136, another user may want tochange the setting to permit the audio output of the effect audio EFTADupon playing back the identical advanced content playback unit ADVPL. Insuch case, by executing the “playEffectAudio” function shown in FIGS.137 and 138, that user can resume the audio output of the effect audioEFTAD again. In the description of this embodiment, the setting of the“playEffectAudio” function is mainly issued in response to a user'sinput as a trigger. However, the invention is not limited to this. Forexample, the “playEffectAudio” function may be issued as a systemiccondition in the advanced content playback unit ADVPL as follows. Thatis, during playback of a specific area of the main title 31 (main videoMANVD), the audio output of the effect audio EFTAD is stopped accordingto a climax scene. Upon completion of playback of the specific area(upon completion of the climax scene), the audio output of the effectaudio EFTAD is resumed. The advanced content playback unit ADVPL in thisembodiment includes the sound decoder SNDDEC in the advanced applicationpresentation engine AAPEN in the presentation engine PRSEN, as shown inFIG. 42. Both the “playEffectAudio” function shown in FIGS. 137 and 138and the “stopEffectAudio” function shown in FIG. 136 can control theON/OFF state of the audio output of the effect audio EFTAD bycontrolling the output of the sound decoder SNDDEC by the API commandissuance processing. The invention is not limited to the aboveembodiment. As another application example, the ECMA script processorECMASP in the advanced application manager ADAMNG shown in FIG. 44 mayexecute, as a main body, processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

The operation of the flowchart showing the contents of the“playEffectAudio” function will be described below using FIG. 137.

<Play>

The play function is used to play Effect Audio.

Parameters:

uri of type String

-   -   Specifies URI of the file name to play Effect Audio. This file        shall be WAV file in File Cache. This parameter shall be follow        URI rule. For details of URI rule, refer to 6.2.2 Content        Referencing.

repeat of type unsigned int

-   -   Specifies the repeat count for playing Effect Audio.    -   Valid Range: 1-99

callback of type Function

Specify the callback function for the state change. The function shallbe the following interface:    void callback(status : int) ;  Parameters:    status of type int:     Player.FILE_NOT_FOUND:Specifiedfile is not found     Player.WRONG_FORMAT :Specified file is not WAVfile.     Player.FINISHED:Effect Audio is finished   Return Value: None  Excepations:   HDDVD_E_INVALIDCALL   HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check the value of the playing property.

If it is “true”:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL.

Otherwise:

2) Go to step 3).

4) Check whether the assigned argument uri is valid. “Valid” means uriis right format. This step does not check whether the specific fileexists.

If it is valid:

5) Go to step 6).

Otherwise:

5) Stop this sequence and throw HDDVD_E_ARGUMENT.

6) Assign “true” to the playing property.

7) Start Play Effect Audio process.

8) Return immediately.

Play Effect Audio process is as follows:

1) Check whether the file specified by URI exists.

If the file exists:

2) Go to step 5)

If the file does not exist:

2) Assign “false” to the playing property.

3) Call the callback function with parameter as:

callback (Player.FILE_NOT_FOUND);

4) Finish.

5) Check whether this file is WAV format.

If the file is WAV format:

6) Go to step 9).

Otherwise:

6) Assign “false” to playing property of this object.

7) Call the callback function with parameter as:

callback (Player.WRONG_FORMAT);

8) Go to step 9).

9) Play the specific file by Audio Decoder in Advanced ElementPresentation Engine. When argument is more than one, Player shall repeataudio the number of times.

10) After finishing Effect Audio, assign “false” to the playingproperty.

11) Call the callback function with parameter as:

callback (Player.FINISHED);

12) Finish.

Activation of the “playEffectAudio” function serves its purpose onlywhen playback of the effect audio EFTAD is stopped. Therefore,immediately after the API command processing starts in ST137-1 a, it isconfirmed in ST137-2 a if the “playing” property is “false” to check ifthe playback state of the effect audio EFTAD is not “playing”. If theplayback state of the effect audio EFTAD is “playing”, an error messageis output in ST137-5 a, and the process advances to API command endprocessing in ST137-7 a. If the “playing” property is “false”, it ischecked in ST137-3 a if the description format of a URI as thedesignated parameter is correctly described. If the format is notcorrectly described, an error message is output in ST137-5 a; otherwise,“true” is set in the “playing” property in ST137-4 a to indicate thatthe playback state is “playing”. After that, “Play Effect Audio” startsin ST137-6 a. Upon completion of the “Play Effect Audio”, the APIcommand end processing is executed (ST137-7 a ). FIG. 138 shows thedetailed contents of the “Play Effect Audio” in ST137-6 a. Upon startingthe “Play Effect Audio” in ST138-1 b, it is checked in ST138-2 b if afile corresponding to the designated URI is stored. If no file isstored, “false” is set in the “playing” property in ST138-6 b, and“callback” of “no file” (FILE_NOT_FOUND) is called in ST138-9 b. Afterthat, the processing of the “Play Effect Audio” ends in ST138-11 b. Asdescribed above, this embodiment postulates a WAV file as the effectaudio EFTAD. Therefore, if a file is stored at the designated URI, it ischecked in ST138-3 b if the designated file has the “WAV” format. If thefile is described using a format other than the “WAV” format, “false” isset in the “playing” property in ST138-5 b, and “callback” of “formaterror” (WRONG_FORMAT) is called in ST138-8 b. After that, the processadvances to the end processing in ST138-11 b. If the designated file hasthe “WAV” format, playback processing of the designated file is executedin ST138-4 b. In this embodiment, the advanced content playback unitADVPL includes the sound decoder SNDDEC in the advanced applicationpresentation engine AAPEN, as shown in FIG. 31 or 42. In response to theplayback processing of the designated file in ST138-4 b, the audiooutput of the sound decoder SNDDEC is allowed. After the playbackpresentation of the corresponding effect audio EFTAD is output, “false”is set in the “playing” property in ST138-7 b to indicate that theplayback state of the effect audio EFTAD is not “playing”. After that,“callback” of “end of playback” (FINISHED) is called in ST138-10 b, andthe “Play Effect Audio” processing ends in ST138-11 b. The control thenreturns to the “playEffectAudio” function shown in FIG. 137.

As shown in FIG. SC, the information storage medium DISC compliant tocategory 3 can record both the advanced content ADVCT and standardcontent STDCT. This embodiment allows the following processing: whilethe information recording and playback apparatus 1 plays back theadvanced content ADVCT initially, it transits to playback of thestandard content STDCT. As shown in FIG. 15, in this embodiment, theinformation recording and playback apparatus 1 incorporates both theadvanced content playback unit ADVPL that plays back the advancedcontent ADVCT, and the standard content playback unit STDPL that playsback the standard content STDCT. When the advanced content ADVCT isplayed back initially, the advanced content playback unit ADVPL isactive, and the standard content playback unit STDPL is in a standbystate. Next, upon transition from playback of the advanced content ADVCTto that of the standard content STDCT, the advanced content playbackunit ADVPL is set in the standby state, and the standard contentplayback unit STDPL is activated. Transition from the advanced contentplayback state ADVPS to the standard content playback state STDPS isattained based on a command MSCMD corresponding to the markup andscript, as shown in FIG. 6. The command MSCMD corresponding to themarkup and script means the “playStandardContentPlayer” function shownin FIG. 139 of API commands defined in this embodiment. The mixedplayback sequence between the advanced content playback state ADVPS andthe standard content playback state STDPS starts from playbackprocessing ST81 of the advanced content ADVCT and ends with playback endprocessing ST85 of the advanced content ADVCT, as shown in FIG. 52.Therefore, the standard content playback state STDPS is always insertedin the middle of the advanced content playback state ADVPS (see ST82).In this embodiment, the standard content STDCT can be played back in anadvanced content ADVCT playback mode by referring to the standardcontent STDCT in the advanced content ADVCT playback mode, as shown inFIG. 9. However, in some information storage media DISC shown in FIG.5C, the advanced content does not refer to the standard content STDCT inrare cases. In such case, the playback state may transit from theadvanced content playback state ADVPS to the standard content playbackstate STDPS in response to a user's request. As described above, whenthe user requests transition from the advanced content playback stateADVPS to the standard content playback state STDPS, a user operationUOPE is generated. In response to this operation, the user interfaceengine UIENG issues a user interface event UIEVT to the advancedapplication manager ADAMNG, as shown in FIG. 28. The advancedapplication manager ADAMNG searches the advanced application scriptADAPLS or default handler script DEVHSP, and issues an API commandcorresponding to the “playStandardContentPlayer” function shown in FIG.139 to the playlist manager PLMNG. The invention is not limited to theabove embodiment. As another application example, the ECMA scriptprocessor ECMASP in the advanced application manager ADAMNG shown inFIG. 44 may execute, as a main body, processing based on the followingsequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform activationprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the activation processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

In this embodiment, transition from the advanced content playback stateADVPS to the standard content playback state STDPS is allowed only whenthe advanced content ADVCT is set in a pause mode. As shown in FIG. 32,there are eight different states of the advanced content playback unitADVPL. In only the pause state PSEST of these states, transition fromthe advanced content playback state ADVPS to the standard contentplayback state STDPS is allowed.

<Play>

The play function is used to change presentation from Advanced ContentNavigation to Standard Content Navigation. When disc does not haveStandard Content, Player shall throw HDDVD_E_INVALIDCALL. Application isable to call this function only at pause state. After the presentationof Standard Content Player is finished by CallAdvancedContentPlayercommand, this function shall be returned.

Parameters:

domain of type unsigned int

-   -   Specifies what domain of Standard Content is selected for        presentation. This parameter shall be assigned by Domain type        properties. Starting point of Standard Content is specified by        this parameter and SPRM.

Return Value: None

Exceptions:

-   -   HDDVD_E_ARGUMENT    -   HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check whether the assigned argument is within valid range.

If it is within valid range;

2) Go to step 3).

Otherwise:

2) Throw HDDVD_E_ARGUMENT.

3) Check the playState property of the Playlist object.

If the value is same as the PLAYSTATE_PAUSE property of the Playlistobject:

4) Go to step 5).

Otherwise:

4) Throw HDDVD_E_INVALIDCALL.

5) Check whether Disc has Standard Content.

If Disc has Standard Content:

6) Go to step 7).

Otherwise;

6) Throw HDDVD_E_INVALIDCALL.

7) Suspend Advanced Content Player and transit to Standard ContentPlayer. If Player is not able to start Standard Content, return topresentation of Advanced Content immediately.

Referring to FIG. 139, upon starting the API command processingcorresponding to the “playStandardContentPlayer” function in ST139-1, itis checked in ST139-2 if the designated parameters fall within the validrange. If the designated parameters fall outside the valid range, anerror message is output in ST139-6, and the API command processing endsin ST139-10. If the designated parameters fall within the valid range,it is checked in ST139-3 if the “playState” property is set to be“PLAYSTATE_PAUSE” (pausing). As described above, in this embodiment,since the “playStandardContentPlayer” function is executed in only“pausing”, an error message is output in ST139-6 for other states. Incase of “pausing”, it is checked in ST139-4 if the information storagemedium DISC records the standard content STDCT to confirm if theinformation storage medium DISC is compliant to “category 3” shown inFIG. 5C. In case of a medium of “category 2”, an error message is outputin ST139-6. If the corresponding information storage medium DISC iscompliant to “category 3”, the processing of the advanced contentplayback unit ADVPL is interrupted, and that of the standard contentplayback unit STDPL starts in ST139-5. At this time, it is checked inST139-7 if the standard content playback unit STDPL can immediatelystart playback of the standard content STDCT. If the standard contentplayback unit STDPL cannot immediately start playback, the processing ofthe advanced content playback unit ADVPL restarts to start playbackpresentation of the advanced content ADVCT in ST139-9. If the standardcontent playback unit STDPL can immediately start playback of thestandard content STDCT in ST139-7, the standard content playbackprocessing is continued in ST139-8. When the playback presentation ofthe standard content playback unit STDPL is ended by a playback startcall of the advanced content playback unit ADVPL using a command NCCMDof navigation commands, as shown in FIG. 6, the advanced contentplayback processing (ST4.3.22-3-2) must be resumed, as shown in FIG. 52.Therefore, after the end of continuation of the standard contentplayback processing in ST139-8, the processing of the advanced contentplayback unit ADVPL restarts to start the playback presentation of theadvanced content ADVCT in ST13S-9. After that, the API commandprocessing corresponding to the “playStandardContentPlayer” functionends in ST139-10.

FIG. 140 is a flowchart showing the contents of the“playSecondaryVideoPlayer” function of API commands. The“playSecondaryVideoPlayer” function is an API command used to startplayback of the secondary video player SCDVP. As shown in FIG. 16, a bigcharacteristic feature of this embodiment lies in that video pictures ofthe main video MANVD that represents the main title 31 and the sub videoSUBVD that represents the independent window 32 can be simultaneouslypresented side by side on a single screen to the user. In thisembodiment, a video picture which can be presented to the usersimultaneously with the main video MANVD that represents the main title31 is limited to the sub video SUBVD, and a plurality of main videosMANVD cannot be simultaneously presented to the user. As shown in FIG.10, the sub video SUBVD is included only in the primary audio videoPRMAV in the primary video set PRMVS, or in the secondary audio videoSCDAV in the secondary video set SCDVS. Of API commands defined in thisembodiment, the “playSecondaryVideoPlayer” function shown in FIG. 140means an API command used to start playback of the sub video SUBVDincluded in the secondary audio video SCDAV. As shown in FIG. 25, whenthe secondary audio video SCDAV in the secondary video set SCDVS issaved in advance in the information storage medium DISC or persistentstorage PRSTR, it is temporarily saved in the file cache FLCCH inadvance before playback presentation to the user. Then, the data of thesecondary audio video SCDAV is transferred from the FLCCH to thesecondary video player SCDVP, thus allowing presentation of the subvideo SUBVD. By contrast, when the secondary video set SCDVS thatincludes the secondary audio video SCDAV is recorded in the networkserver NTSRV, it is saved in advance in the streaming buffer STRBUFbefore playback presentation to the user. Then, data of the secondaryaudio video SCDAV is transferred from the streaming buffer STRBUF to thesecondary video player SCDVP, thus allowing presentation of the subvideo SUBVD. Therefore, the processing procedure changes depending onthe original recording location of the secondary audio video SCDAV inthe “playSecondaryVideoPlayer” function shown in FIG. 140. That is, whenthe secondary audio video SCDAV is saved in advance in the informationstorage medium DISC or persistent storage PRSTR, “play Secondary VideoSet” (FIG. 141) that goes through the file cache FLCCH is used. When thesecondary audio video SCDAV is saved in advance in the network serverNTSRV, processing based on “Streaming Secondary Video Set” (see FIGS.142 and 143) that goes through the streaming buffer STRBUF is executed.As for the presentation method of the main video MANVD that representsthe main title 31 and the sub video SUBVD in the secondary video setSCDVS (secondary audio video SCDAV) that represents the independentwindow 32, as shown in FIG. 161 the presentation timings are mapped inadvance in the playlist PLLST, as shown in FIG. 17. That is, theplayback timing of the sub video SUBVD that represents the independentwindow 32 shown in FIG. 16 in a single title is defined by a “start timeTTSTTM on the title timeline” (titleTimeBegin attribute information) andan “end time TTEDTM on the title timeline” (titleTimeEnd attributeinformation) in a secondary audio video clip element SCAVCP in theobject mapping information OBMAPI shown in FIG. 54D. The presentationlocation of the sub video SUBVD that represents the independent window32 in the window on the screen to be presented to the user is set bydesignating the window size and the window presentation position in thevideo attribute item element VABITM described in the media attributeinformation MDATRI in the playlist PLLST, as shown in FIG. 79D, anddesignating the video attribute item element VABITM by the sub videoelement SUBVD in the track number assignment information, as shown inFIG. 6.2.3.12-4F. In this manner, the playlist PLLST sets in advance thepresentation timings and window layout on the screen of the main videoMANVD that represents the main title 31 and the sub video SUBVD thatrepresents the independent window 32. Meanwhile, when a commercial thatthe user does not want to watch is presented on the independent window32 for a commercial, and the main title 31 reaches a climax scene, theuser may want to temporarily stop playback of the sub video SUBVD thatrepresents the independent window 32 and to focus on the main title 31.In this case, by calling the “stopSecondaryVideoPlayer” function shownin FIG. 146, playback of the sub video SUBVD can be temporarily stopped.After that, when the climax scene of the main title 31 ends, and theuser wants to simultaneously present the independent window 32, playbackpresentation of the sub video SUBVD can be restarted by executing the“playSecondaryVideoPlayer” function shown in FIG. 140. The user ofteninputs the start or stop processing of the playback presentation of thesub video SUBVD that represents the independent window 32 mainly usingthe remote controller or mouse. As shown in FIG. 14, the advancedcontent playback unit ADVPL in this embodiment has the navigationmanager NVMNG, which directly receives the user's designation (useroperation UOPE). As shown in FIG. 28, the navigation manager NVMNGincludes the user interface engine UIENG, which issues a user interfaceevent UIEVT to the advanced application manager ADAMNG in response tothe user operation UOPE. Upon reception of the user interface eventUIEVT, the programming engine PRGEN in the advanced application managerADAMNG issues a corresponding script (an API command or a combination ofAPI commands) to the playlist manager PLMNG or presentation engine PRSENwith reference to the advanced application script ADAPLS or defaultevent handler script DEVHSP. In this way, the “playSecondaryVideoPlayer”function shown in FIG. 140 is handled (undergoes processing control) inthe navigation manager NVMNG. The invention is not limited to the aboveembodiment. As another application example, the ECMA script processorECMASP in the advanced application manager ADAMNG shown in FIG. 44 mayexecute, as a main body, processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform executionprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the execution processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<Play>

The play function is used to start the presentation of Secondary VideoPlayer. This function shall be used only for Secondary Audio Video, notfor Substitute Audio Video and Substitute Audio.

Parameters:

uri of type String

-   -   Specifies the TMAP file to indicate Secondary Video Set in the        Persistent Storage, Disc, File Cache and Network. This parameter        shall be follow URI rule.

start of type String

-   -   Specifies the time until beginning the presentation of Secondary        Video Player. This value is indicated by Timecode. When this        parameter is undefined, Player shall play as soon as possible.

offset of type String

-   -   Specifies the offset time in the Secondary Video Set that the        presentation starts. This value is indicated by Timecode. When        this parameter is undefined, Player shall play a presentation        from the beginning.

stop of type String

-   -   Specifies the time in the Secondary Video Set that the        presentation is finished. This value is indicated by Timecode.        When this parameter is undefined, Player shall play this        presentation to last.

callback of type Function

-   -   Specify the callback function for the state change. The function        shall be the following interface:    -   void callback(status: int);

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the playState property.

If the value is same as the PLAYSTATE_STOP property:

2) Go to step 3).

Otherwise:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL.

3) Assign the PLAYSTATE_INIT property to the playState property.

4) Check whether the assigned argument uri is valid. “Valid” means uriis right format. This step does not check whether the specific fileexists.

If it is valid:

5) Go to step 6).

Otherwise:

5) Stop this sequence and throw HDDVD_E_ARGUMENT.

6) Check the uri schema.

If uri schema is http or https:

7) Start Streaming Secondary Video Set sequence.

If uri schema is file:

7) Start Play Secondary Video Set sequence.

Otherwise:

7) Stop this sequence and throw HDDVD_E_ARGUMENT.

8) Return immediately.

Play Secondary Video Set sequence is as follows:

1) Check whether a resource file is in disc and disc is not used byother module.

If the specified resource file exist in disc and disc in used by othermodule:

2) Assign the PLAYSTATE_STOP property to the playState property.

3) Call the callback function with parameter as:

callback (Player.INVALID_CALL);

4) Finish.

If the file does not exist:

2) Go to step 5).

5) Check whether the file specified by URI exists.

If the file exists:

6) Go to step 9).

If the file does not exist:

6) Assign the PLAYSTATE_STOP property to the playState property.

7) Call the callback function with parameter as:

callback (Player.FILE_NOTFOUND);

8) Finish.

9) Check whether this file is playable format.

If the specified resource file is playable format:

10) Go to step 14).

Otherwise:

11) Assign the PLAYSTATE_STOP property to the playState property.

12) Call the callback function with parameter as:

callback (Player.WRONG_FORMAT);

13) Finish.

14) Check the assigned parameter offset is within the time span ofSecondary Video Set, using TMAP information.

If offset is valid value:

15) Go to step 18).

Otherwise:

15) Assign the PLAYSTATE_STOP property to the playState property.

16) Call the callback function with parameter as:

callback (Player.INVALID_PARAMETER);

17) Finish.

18) Wait for the time specified by the assigned parameter start.

19) Play the specific file by Secondary Video Player.

20) Assign the PLAYSTATE_PLAY property to the playState property.

21) When finish the presentation, assign the PLAYSTATE_STOP property tothe playState property.

22) Call the callback function with parameter as:

callback (Player.FINISH);

23) Finish.

Streaming Secondary Video Set sequence is as follows:

1) Check whether network is connected to the player or not.

If network is connected:

2) Go to step 5).

If network is not connected:

2) Assign the PLAYSTATE_STOP property to the playState property.

3) Call the callback function with parameter as:

callback (Player.NETWORK_PROBLEM);

4) Finish.

5) Download the TMAP file by complete downloading,

If the download succeeded:

6) Go to step 9).

If timeout (timeout period is specified by NetworkTimeout element inPlaylist) or some other network error occurs:

6) Assign the PLAYSTATE_STOP property to the playState property.

7) Call the callback function with parameter as:

callback (Player.NETWORK_PROBLEM);

8) Finish.

If there is not enough space to store the downloaded TMAP:

6) Assign the PLAYSTATE_STOP property to the playState property.

7) Call the callback function with parameter as:

callback (Player.NOT_ENOUGH_SPACE);

8) Finish.

9) Check the assigned argument offset is within the time span ofSecondary Video Set, using TMAP information.

If it is valid value;

10) Go to step 13).

Otherwise:

10) Assign the PLAYSTATE_STOP property to the playState property.

11) Call the callback function with parameter as:

callback (Player.INVALID_PARAMETER);

12) Finish.

13) Assign the PLAYSTATE_STREAMING_PRELOAD property to the playStateproperty.

14) Begin preloading of the specified S-EVOB file. When offset isnonzero, partial GET is used for downloading to specify offset.

If any network error does not occur before the time specified by theassigned argument start

15) Go to step 18).

If timeout (timeout period is specified by NetworkTimeout element inPlaylist) or some other network error occurs before the time specifiedby the assigned argument start:

15) Assign the PLAYSTATE_STOP property to the playState property.

16) Call the callback function with parameter as:

callback (Player.NETWORK_PROBLEM);

17) Finish.

18) Check whether this file is playable format.

If the file is playable format:

19) Go to step 22).

Otherwise:

19) Assign the PLAYSTATE_STOP property to the playState property.

20) Call the callback function with parameter as:

callback (Player.WRONG_FORMAT);

21) Finish.

22) Wait for the time specified by the assigned argument start.

23) Play the specified file from the time.

24) Assign the PLAYSTATE_STREAMING_PLAY property to the playStateproperty.

If any. network error does not occur before the presentation finishes:

25) Go to step 28).

If timeout (timeout period is specified by NetworkTimeout element inPlaylist) or some other network error occurs before the presentationfinishes;

25) Assign the PLAYSTATE_STOP property to the playState property.

26) Call the callback function with parameter as:

callback (Player.NETWORK_PROBLEM);

27) Finish.

28) When finish the presentation, assign the PLAYSTATE_STOP property tothe playState property.

29) Call the callback function with parameter as:

callback (Player.FINISH);

30) Finish.

As shown in FIG. 10, in this embodiment, three different types ofplayback presentation objects, i.e., a substitute audio video SBTAV,substitute audio SBTAD, and secondary audio video SCDAV can be definedin the secondary video set SCDVS. The “playSecondaryVideoPlayer”function is a function of using only the secondary audio video SCDAV,but cannot be used for the substitute audio video SBTAV or substituteaudio SBTAD. Also, the API command can be executed in only the stopstate STOPST that means “stop” of various states of the advanced contentplayer shown in FIG. 31. Therefore, immediately after the API commandprocessing starts in ST140-1 a, it is checked in ST140-2 a if the“playState” property is set to be “PLAYSTATE_STOP” (“stop”). If the“playState” property indicates a state other than “stop”, an errormessage is output in ST140-9 a, and the API command processing ends inST140-10 a. If it is determined in ST140-2 a that the “playState”property indicates “stop”, “PLAYSTATE_INT” (initial setting) is set inthe “playState” property in ST140-3 a. After that, it is checked inST140-4 a if a URI as the designated parameter is described in a correctformat. If the URI is not described in the correct format, an errormessage is output in ST140-9 a. If the URI is described in the correctformat, it is checked in ST140-5 a if the data structure in the URI asthe designated parameter starts with “http” or “https”. If the datastructure in the URI starts with “http” or “https”, since it indicatesthat the playback presentation object to be played back is saved in thenetwork server NTSRV, “Streaming Secondary Video Set” starts in ST140-6a. If it is determined in ST140-5 a that the data structure in the URIdoes not start with “http” or “https”, it is determined that thecorresponding playback presentation object is stored in one of thepersistent storage PRSTR, information storage medium DISC, and datacache DTCCH. In this case, it is checked in ST140-7 a if the contents ofthe URI as the designated parameter indicate a file recorded in theinformation storage medium DISC, persistent storage PRSTR, or data cacheDTCCH. If the URI is not correctly described, an error message is outputin ST140-9 a. If the designated URI value is correctly described, “playSecondary Video Set” starts in ST140-8 a. As shown in FIG. 10, thesecondary audio video SCDAV recorded in the network server NTSRV istemporarily saved in the streaming buffer STRBUF before the beginning ofplayback, and its data is transferred from the streaming buffer STRBUFto the secondary video player SCDVP, thus starting the playbackpresentation. The sequence processing corresponding to this routecorresponds to the “Streaming Secondary Video Set” sequence shown inFIGS. 142 and 143. By contrast, as shown in FIG. 25, the secondary audiovideo SCDAV recorded in the information storage medium DISC orpersistent storage PRSTR is temporarily saved in the file cache FLCCH,and its data is transferred from the file cache FLCCH to the secondaryvideo player SCDVP, thus starting the playback presentation of thesecondary audio video SCDAV. The processing corresponding to this routecorresponds to the “play Secondary Video Set” sequence shown in FIG.141. Upon completion of the processing of the “Streaming Secondary VideoSet” in ST140-6 a or the “play Secondary Video Set” in ST140-8 a, theAPI command processing ends in St140-10 a. FIG. 141 is a flowchartshowing the contents of the “Play Secondary Video Set” sequence used inthe “playSecondaryVideoPlayer” function. As shown in FIG. 25, when thesecondary audio video SCDAV including the sub video SUBVD is saved inadvance in the information storage medium DISC or persistent storagePRSTR, data of the secondary audio video SCDAV is transferred to thesecondary video player SCDVP via the file cache FLCCH using the “PlaySecondary Video Set” sequence. In this case, the “Play Secondary VideoSet” sequence shown in FIG. 141 is used. As shown in FIG. 25, in thisembodiment, the information storage medium DISC records both thesecondary audio video SCDAV of the primary video set PRMVS and that ofthe secondary video set SCDVS. However, the loading processing of thesecondary audio video SCDAV toward the file cache FLCCH and the playbackprocessing of the primary video set PRMVS recorded in the informationstorage medium DISC cannot be simultaneously executed. As a bigcharacteristic feature of this embodiment, the reliability of theprocessing of the information recording and playback unit 2 is improvedby inhibiting simultaneous parallel execution of a plurality of kinds ofprocessing of the information recording and playback unit inconsideration of the access performance of an optical head included inthe information recording and playback unit (see FIG. 15) that playsback data from the information storage medium DISC by imposing the abovelimitation conditions. Therefore, this embodiment inhibits simultaneousexecution of a plurality of use applications with respect to theinformation storage medium DISC. Hence, another processing is inhibitedduring the loading processing of the secondary video set SCDVS(secondary audio video SCDAV), which is recorded in the informationstorage medium DISC, to the file cache FLCCH. For this reason,immediately after the “Play Secondary Video Set” starts in ST141-1 b, itis checked in ST141-2 b if the designated resource file is recorded inthe information storage medium DISC and the information storage mediumDISC is not used for another purpose. If the information storage mediumDISC is used for another use application such as playback of the primaryvideo set PRMVS, “PLAYSTATE_STOP” (“stop”) is set in the “playState”property in ST141-3 b to indicate “stop”. After that, “callback” of“invalid” (INVALID) is called in ST141-4 b, and the processing of the“Play Secondary Video Set” sequence ends in ST141-19 b. If it isdetermined based on the conditions in ST141-2 b that the designatedresource file is not recorded in the information storage medium DISC, orthe resource file is recorded in the information storage medium DISC andthe corresponding information storage medium DISC is not used foranother use application, it is checked in ST141-5 b if the resource filedesignated by the URI is stored. In this case, the resource filedesignated by the URI mainly indicates a case wherein the file is storedin the persistent storage PRSTR or information storage medium DISC.However, this embodiment is not limited to such case, and supports acase wherein the resource file is stored in the data cache DTCCH. If theresource file designated by the URI is not stored in ST141-5 b,“PLAYSTATE_STOP” is set in the “playState” property in ST141-6 b toindicate “stop”. After that, “callback” of “no file” (FILE_NOT_FOUND) iscalled in ST141-7 b, and the control then advances to the end inST141-19 b. If the resource file designated by the URI is stored inST141-5 b, download processing of the secondary video set SCDVS(secondary audio video SCDAV) recorded in the information storage mediumDISC or persistent storage PRSTR into the file cache FLCCH is executed,although not shown in FIG. 141. Upon completion of the downloadprocessing into the file cache FLCCH, it is checked in ST141-8 b if theresource file designated by the URI is recorded in a format that allowsplayback. If the resource file is not recorded in the format that allowsplayback, “PLAYSTATE_STOP” (“stop”) is set in the “playState” propertyin ST141-9 b, and “callback” of “wrong format” (WRONG_FORMAT) is calledin ST141-10 b. If it is determined in ST141-8 b that the resource fileis recorded in the format that allows playback, it is checked as aresult of determination using time map information STMAP in ST141-11 bif the designated offset value falls within the playback time range ofthe secondary video set SCDVS. If the designated offset value exceedsthe playback time range, “PLAYSTATE_STOP” is set in the “playState”property in ST141-12 b to indicate “stop”. After that, “callback” of“invalid parameter” (INVALID_PARAMETER) is called in ST141-13 b, and thecontrol advances to the end processing in ST141-19 b. If it isdetermined in ST141-11 b that the designated offset value falls withinthe playback time range of the secondary video set SCDVS, playbackstarts from the middle of the secondary video set SCDVS (secondary audiovideo SCDAV) in ST141-14 b, and continues until the designated playbackpresentation start position. If the secondary video set SCDVS (secondaryaudio video SCDAV in this embodiment) is not synchronized with the timeprogress on the title timeline TMLE, the designated playbackpresentation start location means the value of the start time TTSTTM onthe title timeline (titleTimeBegin attribute information) in thesecondary audio video clip element SCAVCP described in the objectmapping information OBMAPI in the playlist PLLST shown in FIG. 54. Next,playback presentation starts from the playback presentation startlocation of the file designated by the secondary video set SCDVS (seeFIG. 30) in ST141-15 b. Then, “PLAYSTATE_PLAY” is set in the “playState”property in ST141-16 b to indicate “playing”. Upon completion of theplayback processing of the secondary video set SCDVS (secondary audiovideo SCDAV in this embodiment), “PLAYSTATE_STOP” is set in the“playState” property in ST141-17 b to indicate “stop”. After completionof the setting, “callback” of “end of playback” (FINISH) is called inST141-18 b, and the “Play Secondary Video Set” sequence ends in ST141-19b. The control then returns to the “playSecondaryVideoPlayer” functionshown in FIG. 140. FIGS. 142 and 143 are flowcharts showing the contentsof the “Streaming Secondary Video Set” sequence in ST140-6 a shown inFIG. 140. As shown in FIG. 25, in this embodiment, the secondary videoset SCDVS in the network server NTSRV is temporarily saved in thestreaming buffer STRBUF before playback presentation to the user, andits data is transferred from the streaming buffer STRBUF to thesecondary video player SCDVP, thus performing the playback presentationof the secondary video set SCDVS to the user. As described above usingFIG. 140, the “playSecondaryVideoPlayer” function is executed for onlythe secondary audio video SCDAV in the secondary video set SCDVS.Therefore, the “Streaming Secondary Video Set” sequence shown in FIGS.142 and 143 is used in only the playback processing of the secondaryaudio video SCDAV. If the “Streaming Secondary Video Set” sequencestarts in ST142-1 c, it is checked in ST142-2 c if the network isconnected to the information playback apparatus 1. If no network isconnected to the information playback apparatus 1, “PLAYSTATE_STOP”(“stop”) is set in the “playState” property in ST142-3 c, and “callback”of “network error” (NETWORK_PROBLEM) is called in ST142-4 c. After that,the control jumps to the end processing of the “Streaming SecondaryVideo Set” sequence in ST143-30 c. If it is determined in ST142-2 c thatthe network is connected to the information playback apparatus 1, a timemap STMAP of the secondary video set is downloaded, and it is checked inST142-5 c if the download processing has succeeded. It is determined instep S142-5 c that the download processing of the time map STMAP of thesecondary video set has failed, when a time-out time of the network isexceeded, in case of a problem of a free space in the data cache DTCCH,and the like. The time-out time will be explained first. When a networkerror has occurred at the time of network connection, network datatransfer may be temporarily stopped. When a network error continuesafter an elapse of a specific time period, and a time period requireduntil outgoing information returns exceeds the specific time period in ageneral network communication, in many cases a time-out is determinedand network connection is automatically disconnected. In thisembodiment, the time-out time based on a network error is set in theplaylist PLLST, and the network connection is disconnected when nonetwork response returns after an elapse of the set time-out time. Thesetting information of the time-out time in the playlist PLLST is set,as shown in FIG. 80F. That is, in this embodiment, the playlist PLLSTincludes the configuration information CONFGI, as shown in FIG. 80A, andthe configuration information CONFGI includes a network time-out elementNTTMOT, as shown in FIG. 80B. In the network time-out element NTTMOT,time-out setting information NTCNTO (timeout attribute information) uponnetwork connection can be set, as shown in FIG. 80F. In this embodiment,when no network response returns after an elapse of a time period setbased on the time-out setting information NTCNTO (timeout attributeinformation), if the time-out time has elapsed or another network errorhas occurred in ST142-6 c, “PLAYSTATE_STOP” (“stop”) is set in the“playState” property in ST142-7 c, and “callback” of “network error”(NETWORK_PROBLEM) is called in ST142-8 c. After that, the control jumpsto the end processing of the “Streaming Secondary Video Set” sequence inST143-30 c. As the condition for determining a download failure inST142-5 c in addition to the time-out time, the state of a free space ofthe data cache DTCCH is used. In this case, it is checked in ST142-9 cif the data cache DTCCH does not have any free space large enough tosave the time map STMAP of the secondary video set. If the data cacheDTCCH does not have any sufficient free space, “PLAYSTATE_STOP” (“stop”)is set in the “playState” property in ST142-10 c, and “callback” of“insufficient free space” (NOT_ENOUGH_SPACE) is called in ST142-11 c.After that, the control jumps to the end processing in ST143-30 c. Ifthe download processing has failed in ST142-5 c when the data cacheDTCCH has an enough free space in the determination condition in ST142-9c and the time-out time has not elapsed in ST142-6 c, the processadvances to “N” in ST142-9 c, thus jumping to the end processing inST143-30 c. It is checked in ST142-9 c if the data cache DTCCH does nothave any free space large enough to save the time map STMAP of thesecondary video set. However, this embodiment is not limited to this.For example, if the data cache DTCCH does not have any free space largeenough to save secondary enhanced video object data S-EVOB to bereferred to by the time map STMAP, the process similarly advances to theprocess in ST142-10 c. That is, as shown in FIG. 88C, time map generalinformation TMAP_GI (see FIG. 88B) in the time map STMAP of thesecondary includes file name EVOB_FNAME of an enhanced video objectshown in FIG. 88C. In this embodiment, the time map STMAP of thesecondary video set, and the secondary enhanced video object filesS-EVOB are saved at the same saving location (the pass field in theURI). Therefore, the file name of the secondary enhanced video objectfiles S-EVOB to be saved in the data cache DTCCH are designated by theinformation of the file names EVOB_FNAME of the enhanced video objects,and the size of the secondary enhanced video object files S-EVOB can bedetected based on file system information. Therefore, it is checked inST142-9 c if the data cache DTCCH has a free space large enough to saveall secondary video object files S-EVOB. If the data cache DTCCH doesnot have any sufficient free space, the process advances to ST142-10 c.If it is determined based on the determination condition in ST142-5 cthat the time map STMAP of the secondary video set is downloaded, andthe download processing has succeeded, it is checked in ST142-12 c as aresult of checking using the time map STMAP of the secondary video setif the designated offset parameter falls within the playbackpresentation time in the secondary video set SCDVS. As shown in FIG.54D, in this embodiment, the playlist PLLST includes the object mappinginformation OBMAPI, which includes the secondary audio video clipelement SCAVCP (see FIG. 54D). The secondary audio video clip elementSCAVCP includes information of a start position VBSTTM (clipTimeBeginattribute information) on the enhanced video object data, as shown inFIG. 54D. When the “playSecondaryVideoPlayer” function shown in FIG. 140is executed, playback starts from the designated time (that is, thedesignated offset parameter in ST142-12 c ) in ST143-23 c. With thedetermination method in ST142-12 c, both of the information of the startposition VBSTTM (clipTimeBegin attribute information) on the enhancedvideo object data, and information of time map information TMAPI in thetime map STMAP of the secondary video set shown in FIG. 88B are used tocheck if the value of the designated time (designated offset parameter)falls within the playback presentation time in the secondary video setSCDVS. If it is determined based on the determination condition inST142-12 c that the designated offset parameter falls outside theplayback presentation time in the secondary video set SCDVS,“PLAYSTATE_STOP” (“stop”) is set in the “playState” property in ST142-14c, and “callback” of “invalid parameter” (INVALID_PARAMETER) is calledin ST142-15 c. After that, the control jumps to the end processing ofthe “Streaming Secondary Video Set” sequence in ST143-30 c. If it isdetermined in ST142-12 c as a result of determination using the time mapSTMAP of the secondary video set that the designated offset parameterfalls within the playback presentation time in the secondary video setSCDVS, “PLAYSTATE_STREAMING_PRELOAD” (“preloading of streaming”) is setin the “playState” property in ST142-13 c, thus starting preloading ofthe designated secondary enhanced video object file S-EVOB. A bigcharacteristic feature of this embodiment lies in that playback of thesecondary video set SCDVS (secondary audio video SCDAV) can start beforecompletion of loading of all the secondary audio video data SCDAV intothe streaming buffer STRBUF upon loading of the secondary video setSCDVS (secondary audio video SCDAV in FIGS. 140 to 142) to be saved inthe streaming buffer STRBUF into the streaming buffer STRBUF, as shownin FIG. 163 or 164. Therefore, the determination condition in ST142-16 cis not used to determine that no network error occurs before completionof loading of the secondary video set SCDVS (secondary audio videoSCDAV) into the streaming buffer STRBUF, but the determination conditionin ST143-16 c is used to determine that no network error occurs beforethe time of the designated start parameter. If a network error hasoccurred before the time of the designated start parameter after thebeginning of preloading, “PLAYSTATE_STOP” (“stop”) is set in the“playState” property in ST143-17 c, and “callback” of “network error”(NETWORK_PROBLEM) is called in ST143-18 c. After that, the endprocessing of the “Streaming Secondary Video Set” sequence is executed(ST143-30 c). If it is determined in ST143-16 c that no network erroroccurs before the time of the designated start parameter, it is checkedin ST143-19 c if the preloaded file has a format that allows playback.If the preloaded file does not have any format that allows playback,“PLAYSTATE_STOP” (“stop”) is set in the “playState” property in ST143-20c, and “callback” of “wrong format” (WRONG_FORMAT) is called in ST143-21c. After that, the control jumps to the end processing in ST143-30 c. Ifit is determined in ST143-19 c that the preloaded file has a format thatallows playback, playback starts from the middle of the downloadedsecondary video set SCDVS, and continues until the playback positionreaches the designated time in ST143-22 c. In this case, presentation tothe user is not performed. If the playback position has reached the timeof the designated start parameter, playback presentation of acorresponding file starts from the designated time in ST143-23 c. Afterthat, “PLAYSTATE_STREAMING_PLAY” (“playing”) is set in the “playState”property in ST143-24 c. After “playing” is set in ST143-24 c, theplayback presentation of the secondary audio video SCDAV to the usercontinues while transferring the secondary audio video SCDAV saved inthe streaming buffer STRBUF to the secondary video player SCDVP parallelto preloading of the secondary audio video SCDAV into the streamingbuffer STRBUF, as shown in FIG. 163 or 164. When the playbackpresentation approaches an end, it is checked in ST143-25 c if anynetwork error has occurred before completion of the playbackpresentation. If any network error has occurred during the playbackpresentation, “PLAYSTATE_STOP” (“stop”) is set in the “playState”property in ST143-28 c, and “callback” of “network error”(NETWORK_PROBLEM) is called in ST143-29 c. If no network error hasoccurred before completion of the playback presentation in thedetermination condition in ST143-25 c, the playback presentation of thesecondary audio video SCDAV is completed, and “PLAYSTATE_STOP” (“stop”)is set in the “playState” property in ST143-26 c upon completion of theplayback presentation. After that, “callback” of “end of playback”(FINISH) is called (ST143-27 c ). With the above process, after theplayback of the secondary audio video SCDAV ends and “end of playback”is called in ST143-27 c, the processing of the “Streaming SecondaryVideo Set” sequence ends in ST143-30 c, and the control returns to the“playSecondaryVideoPlayer” function shown in FIG. 140.

The “pauseOn” function and “pauseOff” function, and“stopSecondaryVideoPlayer” function (FIGS. 144, 145, and 146) associatedwith playback presentation of the secondary video set SCDVS (see FIG.30) of API commands defined in this embodiment will be described below.The “pauseOn” function shown in FIG. 144 has a function of pausingplayback presentation of the secondary video set SCDVS. The “pauseOff”function shown in FIG. 145 is an API command used upon restarting theplayback presentation of the secondary video set from a paused state.The “stopSecondaryVideoPlayer” function shown in FIG. 146 is an APIcommand used upon ending the playback presentation of the secondaryvideo set SCDVS. This embodiment has a structure in which the primaryvideo set PRMVS and secondary video set SCDVS which are saved in theinformation storage medium DISC, as shown in FIG. 10, and can be playedback and presented to the user with high-resolution image quality. Inthis embodiment, the substitute audio video SBTAV and substitute audioSBTAD in the secondary video set SCDVS are saved in the informationstorage medium DISC, persistent storage PRSTR, or network server NTSRV,and are used when they are presented to the user by replacing the mainvideo MANVD or main audio MANAD of the primary audio video PRMAV in theprimary video set PRMVS. Likewise, the secondary audio video SCDAV inthe secondary video set SCDVS shown in FIG. 10 is originally saved inthe information storage medium DISC, persistent storage PRSTR, ornetwork server NTSRV, and is presented in place of the sub video SUBVDand sub audio SUBAD of the primary audio video PRMAV or is played backand presented simultaneously with the main video MANVD and main audioMANAD in the primary audio video PRMAV. The advanced content playbackunit ADVPL in the information recording and playback apparatus 1 in thisembodiment includes the navigation manager NVMNG and presentation enginePRSEN, as shown in FIG. 14. The presentation engine PRSEN incorporatesthe secondary video player SCDVP, as shown in FIG. 30. The secondaryvideo player SCDVP executes playback processing of the aforementionedsecondary video set SCDVP. All of the “pauseOn” function, “pauseOff”function, and “stopSecondaryVideoPlayer” function shown in FIGS. 144,145, and 146 are API commands used to control the secondary video playerSCDVP (pausing, pause canceling, or stopping processing). Therefore, the“pauseOn” function, “pauseOff” function, and “stopSecondaryVideoPlayer”function are API commands issued from the navigation manager NVMNG inFIG. 14 to the secondary video player SCDVP in the presentation enginePRSEN, and the navigation manager NVMNG handles the processing of theAPI commands. The API commands are issued at any of timings:

1. based on a user operation UOPE;

2. based on a systemic reason in the advanced content playback unitADVPL; or

3. according to the pre-programmed contents based on the markup MRKUPand script SCRPT shown in FIG. 14.

The invention is not limited to the above embodiment. As anotherapplication example, the ECMA script processor ECMASP in the advancedapplication manager ADAMNG shown in FIG. 44 may execute, as a main body,processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform executionprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the execution processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

In this embodiment, the eight different states shown in FIG. 32 can bedefined in the secondary video player SCDVP shown in FIG. 30. The“pauseOn” function shown in FIG. 144 is an API command which is validonly in the playback state PBKST, or the startup state STUPST/updatestate UPDTST of the states in the secondary video player SCDVP. The“pauseOff” function shown in FIG. 145 is an API command which is validin only the pause state PSEST in FIG. 32. Furthermore, the“stopSecondaryVideoPlayer” function shown in FIG. 146 is an API commandwhich is valid in only the playback state PBKST, the startup stateSTUPST/update state UPDTST, or the pause state PSEST in FIG. 32.

<pauseOn>

The pauseOn function is used to suspend the Secondary Videopresentation.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check SecondaryVideoPlayer.playState.

If the playState property is the PLAYSTATE_PLAY_property or thePLAYSTATE_INIT property:

2) Assign the PLAYSTATE PAUSE property to the playState property.

3) Go to step 4).

If the playState property is the PLAYSTATE_STREAMING_PLAY property orthe PLAYSTATE_STREAMING PRELOAD property:

2) Assign the PLAYSTATE_STREAMINGPAUSE property to the playStateproperty.

3) Go to step 4).

Otherwise:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL.

4) Suspend the presentation of Secondary Video Player.

In FIG. 144, “PLAYSTATE_INIT” (“initial setting”) corresponds to thestartup state STUPST/update state UPDTST in FIG. 32. Therefore, in thisembodiment, the “pauseOn” function is valid only during playing or INIT(playback state PBKST or startup state STUPST/update state UPDTST).Therefore, upon starting the API command processing in ST144-1 a, it ischecked in ST144-2 a if the value of the “playState” property is“PLAYSTATE_PLAY” (“playing”) or “PLAYSTATE_INIT” (“initial setting”). Ifthe value of the “playState” property is not “PLAYSTATE_PLAY” or“PLAYSTATE_INIT”, it is checked in ST144-4 a whether or not the value ofthe “playState” property is “PLAYSTATE_STREAMING_PLAY” (“streamingplaying”) or “PLAYSTATE_STREAMING_PRELOAD” (“preloading of streaming”).If neither of these conditions are met, an error message is output inST144-6 a, and the processing of the “pauseOn” function ends (ST144-8a). If it is determined in ST144-4 a that the value of the “playState”property is “PLAYSTATE_STREAMING_PLAY” (“streaming playing”) or“PLAYSTATE_STREAMING_PRELOAD” (“preloading of streaming”),“PLAYSTATE_STREAMING_PAUSE “(“streaming pausing”) is set in the“playState” property in ST144-5 a, and the playback presentation of thesecondary video player SCDVP is paused in ST144-7 a. On the other hand,if it is determined in ST144-2 a that the value of the “playState”property is “PLAYSTATE_PLAY” (“playing”) or “PLAYSTATE_INIT” (“initialsetting”), “PLAYSTATE_PAUSE” (“pausing”) is set in the “playState”property in ST144-3 a, and the playback presentation of the secondaryvideo player SCDVP is paused in ST144-7 a. Immediately after theplayback presentation is paused, the end processing of the “pauseOn”function is executed in ST144-8 a in this embodiment.

<pauseOff>

The pauseOff function is used to resume the Secondary Video presentationfrom pause state.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the playState property:

If the playState property is the PLAYSTATE PAUSE property:

2) Assign the PLAYSTATE_PLAY property to the playState property.

3) Go to step 4).

If the playState property is the PLAYSTATE_STREAMING_PAUSE property:

2) Assign the PLAYSTATE_STREAMING_PLAY property to the playStateproperty.

3) Go to step 4).

Otherwise:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL.

4) Restart the presentation of Secondary Video Player.

The “pauseOff” function shown in FIG. 145 is valid only when the pausestate PSEST of the eight states shown in FIG. 32 as those of thesecondary video player SCDVP included in the presentation engine PRSENin the advanced content playback unit ADVPL shown in FIG. 30 is set.Therefore, immediately after the API command processing starts inST145-1 b, it is checked in ST145-2 b if the value of the “playState”property is “PLAYSTATE_PAUSE” (“pausing”). If the value of the“playState” property does not indicate ,pausing”, it is checked inST145-4 b if the “playState” property is “PLAYSTATE_STREAMING_PAUSE”(“streaming pausing”). At this time, if the “playState” property isneither the “PLAYSTATE_PAUSE” nor “PLAYSTATE_STREAMING_PAUSE”, an errormessage is output in ST145-6 b, and the processing of the “pauseOff”function ends in ST148-8 b. By contrast, if the “playState” property is“PLAYSTATE_STREAMING_PAUSE” (“streaming pausing”) in ST145-4 b,“PLAYSTATE_STREAMING_PLAY” (“streaming playing”) is set in the value ofthe “playState” property in ST145-5 b to restart the playbackpresentation of the secondary video player SCDVP in ST145-7 b. On theother hand, referring back to ST145-2 b, if the value of the “playState”property is “PLAYSTATE_PAUSE” (“pausing”), “PLAYSTATE_PLAY” (“playing”)is set in the value of the “playState” property in ST145-3 b to restartthe playback presentation of the secondary video player SCDVP in ST145-7b. Immediately after the playback presentation of the secondary videoplayer SCDVP restarts in ST145-7 b, the processing of the “pauseOff”function ends in ST145-8 b. In this way, since the processing of the“pauseOff” function ends immediately after the playback presentation ofthe secondary video player SCDVP restarts, the mapping state (see FIG.17) of respective playback presentation objects on the title timelineTMLE returns to a default state, as shown in the default state (theobject mapping information OBMAPI in the playlist PLLST (see FIG. 24A)).If the playback presentation of the secondary video set SCDVS is topause with respect to the default state, the API command indicated bythe “pauseOn” function shown in FIG. 144 is issued. When the playbackpresentation processing of the secondary video player SCDVP (see FIG.30) that plays back the secondary video set SCDVS of this embodimentshown in FIG. 10 is to be stopped, an API command of the“stopSecondaryVideoPlayer” function shown in FIG. 146 need to be issued.FIG. 146 is a flowchart showing the contents of the“stopSecondaryVideoPlayer” function defined as an API command of thisembodiment.

<Stop>

The stop function is used to stop the Secondary Video Set presentation.

Parameters: None

Return Value: None

Exceptions:

HDDVD_E_INVALIDCALL

Detailed processing is as follows:

1) Check the playState property.

If the playState property is the PLAYSTATE_PLAY property, thePLAYSTATE_INIT property, the PLAYSTATE_PAUSE property:

2) Go to step 4)

If the playState is the PLAYSTATE_STREAMING PRELOAD property, thePLAYSTATE_STREAMING_PLAY property or the PLAYSTATE_STREAMING_PAUSEproperty:

2) Stop downloading.

3) Go to step 4).

Otherwise:

2) Stop this sequence and throw HDDVD_E_INVALIDCALL.

4) Assign the PLAYSTATE_STOP property to the playState property.

5) Stop the presentation of Secondary Video Player.

There are eight different states shown in FIG. 32 as those of thesecondary video player SCDVP shown in FIG. 30. The API command of the“stopSecondaryVideoPlayer” function shown in FIG. 146 serves its purposein only of one of the playback state PBKST that means “playing”, thestartup state STUPST/update state UPDTST that means “initial setting”(INIT: initial state), and the pause state PSEST that represents“pausing”. Therefore, upon starting the API command processing inST146-1 c, it is checked in ST146-2 c if the value of the “playState”property is “PLAYSTATE_PLAY” (“playing”), “PLAYSTATE_INIT” (“initialsetting”), or “PLAYSTATE_PAUSE” (“pausing”). If the value of the“playState” property indicates a state other than the above states, itis checked in ST146-3 c if the “playState” property is“PLAYSTATE_STREAMING_PRELOAD” (“streaming preloading”),“PLAYSTATE_STREAMING_PLAY” (“streaming playing”), or“PLAYSTATE_STREAMING_PAUSE” (“streaming pausing”). If neither of theconditions are met, since the “stopSecondaryVideoPlayer” cannot beexecuted, an error message is output in ST146-5 c, and the processingends in ST146-7 c. If the “playState” property is one of “streamingpreloading”, “streaming playing”, and “streaming pausing” in ST146-3 c,the download processing of the secondary video set SCDVS to thestreaming buffer STREBUF is stopped in ST146-4 c. As has been explainedin the paragraph of the “pauseOn” function in FIG. 144, or as shown inFIG. 163 or 164, when the secondary video set SCDVS is to be temporarilysaved in the streaming buffer STRBUF, the loading processing of thesecondary video set SCDVS onto the streaming buffer STRBUF and theprocessing for performing playback presentation of the secondary videoset SCDVS to the user by the secondary video player SCDVP can besimultaneously executed parallel to each other. Therefore, uponexecution of the “stopSecondaryVideoPlayer” function shown in FIG. 146,the download processing of the secondary video set SCDVS from thenetwork server NTSRV to the streaming buffer STRBUF may be parallellyexecuted simultaneously with the playback presentation of the secondaryvideo set SCDVS by the secondary video player SCDVP. For this reason,upon execution of the “stopSecondaryVideoPlayer” function shown in FIG.146, the processing of the secondary video player SCDVP need be stoppedto stop the playback presentation of the secondary video set SCDVS tothe user, and the download processing need be stopped in ST146-4 c.After the download processing is stopped in ST146-4 c, “PLAYSTATE_STOP”(“stop”) is set in the “playState” property in ST146-6 c, and theprocessing of the “stopSecondaryVideoPlayer” command ends in ST146-7 c.On the other hand, referring back to the determination condition inST146-2 c, if the value of the “playState” property is one of “playing”,“initial setting”, and “pausing” “PLAYSTATE_STOP” (“stop”) is set in the“playState” property in ST146-6 c, and the processing of the“stopSecondaryVideoPlayer” function ends in ST146-7 c.

FIGS. 147 and 148 are flowcharts showing the contents of the “getValue”function and “setValue” function defined as API commands in thisembodiment. The advanced content playback unit ADVPL included in theinformation recording and playback unit 1 of this embodiment includesthe navigation manager NVMNG, as shown in FIG. 14. The navigationmanager NVMNG incorporates a temporary memory (temporary saving area),which can record a general parameter value which is appropriately setaccording to the advanced content ADVCT. The “getValue” function shownin FIG. 147 is an API command used to acquire the value of a generalparameter designated by a specific key. The “setValue” function shown inFIG. 148 is an API command used to save the general parameter valuetogether with the specific key. These API commands are mainly issued inthe navigation manager NVMNG. As triggers upon issuing the API commands,in rare cases, a corresponding general parameter value is acquired basedon a user operation UOPE, or a general parameter value is set in thetemporary memory. However, in many cases, triggers for issuing the APIcommands are obtained by script processing based on a combination of themarkup MRKUP and script SCRPT in the advanced application ADAPL shown inFIG. 14. A practical example corresponds to a case wherein the advancedapplication ADAPL provides a video game to the user. For example, duringplaying of the video game by the user, if a score need be incremented ordecremented, the value of the score of the user as a result of theincrement or decrement must be saved in the temporary memory as thegeneral parameter. In this case, the API command is issued by theprocessing of the script SCRPT corresponding to the video game, so as toexecute processing for reading out the general parameter value or savingthe general parameter value. The invention is not limited to the aboveembodiment. As another application example, the ECMA script processorECMASP in the advanced application manager ADAMNG shown in FIG. 44 mayexecute, as a main body, processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform executionprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the execution processing contents controlled by the SCMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<getValue>

The getValue function is used to get General Parameter that is specifiedby key.

Parameters:

key of type String Specifies the key string which indicates requestedGeneral Parameter

Return Value:

value of type String

Returns the information value for assigned key string.

Exceptions:

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether the length of the assigned argument key is within validrange.

If the length of key is less or equal to the limit.

2) Go to step 3).

Otherwise:

2) Throw HDDVD E ARGUMENT and return immediately.

3) Check whether the value specified by argument key exists.

If there is the value:

4) Return this value.

Otherwise:

4) Return undefined.

The contents of the “getValue” function in this embodiment will beexplained below using FIG. 147.

Upon starting the API command processing in ST147-1 a, it is checked inST147-2 a if the designated key parameter length falls with the validrange. If it is determined that the designated key parameter lengthexceeds the valid range, an error message is output in ST147-3 a, andthe processing of the “getValue” function ends in ST147-7 a. On theother hand, if it is determined in ST147-2 a that the designated keyparameter length falls within the valid range, it is checked in ST147-4a if the value set as the key parameter is stored. If no value set asthe key parameter is stored in the temporary memory in the navigationmanager NVMNG, it is determined in ST147-6 a that the key parametervalue is not set, and the processing ends in ST147-7 a. By contrast, ifit is determined in ST147-4 a that the value set as the key parameter isstored in the temporary memory in the navigation manager NVMNG, thatvalue is read, and the read value is returned to that before issuance ofthe API command in ST147-5 a. After that, the processing of the“getValue” function ends in ST147-7 a.

<SetValue>

The setValue function is used to store value with the specific key.

Parameters:

key of type String

-   -   Specifies the key string.

value of type String

-   -   Specifies the General Parameter value for assigned key string.        When undefined is specified as this parameter, the key shall be        removed.

Return Value: None

Exceptions:

HDDVD_E_NOTENOUGHSPACE

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check the number of General Parameter is less than max number ofkeys.

If it is less than max:

2) Go to step 3).

Otherwise:

2) Throw HDDVD_E_NOTENOUGHSPACE and return immediately.

3) Check assigned arguments key and value within valid length.

If the key and value are valid and value is not undefined:

If the key does not exist in General Parameter:

4) Add the key and value to General Parameters

5) Add 1 to the availableNumber property.

Otherwise:

4) Update this key with assigned value

If the key is valid and value is undefined:

4) Remove this key from General Parameters.

5) Subtract 1 from the availableNumber property.

Otherwise:

4) Throw HDDVD_E_ARGUMENT and return immediately.

FIG. 148 shows the execution method of the “setValue” function definedas an API command in this embodiment. In the “setValue” function, itmust be checked first if the contents of the designated key are alreadydefined as a general parameter. If the contents of the designated keyare already defined as a general parameter, the designated value is setas the value of the general parameter. However, if contents of thedesignated key are not defined as a general parameter, a new generalparameter is defined. It is then checked if a value to be set in thegeneral parameter is defined. If the value is defined, that value isadded; otherwise, processing for deregistering the general parameter isexecuted. In any case, in the “setValue” function, the general parameterneed be added or deleted. In this embodiment, an upper limit value isset for the number of general parameters set in the temporary memory(temporary storage area) used in the navigation manager NVMNG in theadvanced content playback unit ADVPL shown in FIG. 14. Therefore, uponrepetition of the processing of the advanced content playback unitADVPL, the number of general parameters to be set in the temporarymemory area must be controlled not to exceed the upper limit value.Therefore, upon starting the API command processing in ST148-1 b, it ischecked in ST148-2 b if the number of general parameters is less thanthe maximum number of key parameters. At this time, if the number ofgeneral parameters is equal to or larger than the maximum number of keyparameters, an error message is output in ST148-11 b, and the processingends in ST148-12 b. By contrast, if it is determined in ST148-2 b thatthe number of general parameters is less than the maximum number of keyparameters, it is checked in ST148-3 b if the designated key parameterand its value fall within the valid length, and the key parameter valuehas already been defined. If it is determined in ST148-3 b that the keyparameter value has not already been defined, it is checked in ST148-8 bif the designated key parameter and its value are valid, and the keyvalue is undefined. If the key value is not valid, since the valuecannot be set as a general parameter, an error message is output inST148-11 b, and the processing ends (ST148-12 b). If it is determined inST148-8 b that the key value is undefined, the contents of thedesignated key are excluded from general parameters in ST148-9 b, and“1” is subtracted from information of the number of available generalparameter in ST148-10 b so as to reduce the number of general parametersset in the temporary memory (temporary storage area). If it isdetermined in ST148-3 b that the designated key parameter and its valuefall within the valid length, and the key parameter value has alreadybeen defined, it is checked in ST148-4 b if the key contents areincluded in general parameters. If it is determined in ST148-4 b thatthe key contents are not included in general parameters, the keycontents and designated key value are added to general parameters inST148-6 b, and “1” is added to the information of the number ofavailable general parameters in ST148-7 b. If the key contents areincluded in general parameters in ST148-4 b, the key value is updated tothe designated value in ST148-5 b, and the processing of the “setValue”function then ends in ST148-12 b.

As shown in FIG. 65, when viewed from the inside of the file cacheFLCCH, the process starts from a data deletion time N-EXST from the filecache, and a loading time LOADPE required upon loading specific datainto the file cache FLCCH, thus completing download of playbackpresentation objects required for playback presentation in the filecache FLCCH. After that, an advanced application active period APACPEcorresponds to the duration of an activation and use time USEDTM, andafter an elapse of an advanced application data save time AVLBLE in thefile cache, the process returns to the data deletion time N-EXST fromthe file cache via data deletion FLCREM from the file cache. Thedeletion priority upon deleting resource files from the file cache FLCCHhas been explained using FIG. 64. As described using FIG. 64, thepriority order of deletion (priority) is set, and deletion processing isexecuted in turn from resource files with higher priority levels in thisembodiment. As in this embodiment, since the deletion priority levelsare set for respective resource files, unwanted resource files can beefficiently deleted from the file cache FLCCH. Information of thedeletion priority order is described in “priority order informationPRIORT for corresponding resource deletion” (priority attributeinformation) in an application resource element APRELE described in theobject mapping information OBMAPI in the playlist PLLST, as shown inFIG. 63D. In addition, information of the deletion priority order isdescribed in “priority order information PRIORT for correspondingresource deletion” (priority attribute information) in a title resourceelement described in resource information RESRCI in the playlist PLLST,as shown in FIG. 66D. FIGS. 149 and 150 show API commands used to readthe deletion priority order value for each resource file in the filecache FLCCH and to change its value. The “getPriority” function shown inFIG. 149 of API commands defined in this embodiment is a function usedto get the deletion priority order of a resource file in the file cacheFLCCH. The “setPriority” function shown in FIG. 150 is an API commandused to set the deletion priority order of a resource file in the filecache FLCCH (or to change the value designated in advance in theplaylist PLLST). As issuance timings, these API commands are normallyissued in the advanced content playback unit ADVPL in the informationrecording and playback apparatus 1. As shown in FIG. 25, the secondaryvideo set SCDVS or the advanced application ADAPL and advanced subtitleADSBT saved in the information storage medium DISC, persistent storagePRSTR, or network server NTSRV are often saved in advance in the filecache FLCCH before playback presentation to the user. When the advancedcontent ADVCT is saved in advance in the file cache FLCCH, the “capture”function shown in FIGS. 106A to 110B or FIG. 126 is issued, thustemporarily saving the advanced content ADVCT in the file cache FLCCH inadvance. In this case, as shown in FIG. 14, the required advancedcontent ADVCT is saved from the saving location of the advanced contentADVCT such as the persistent storage, network server NTSRV, informationstorage medium DISC, or the like in the file cache FLCCH in the datacache DTCCH via the data access manager DAMNG. At this time, theremaining capacity (free capacity) in the file cache FLCCH may beinsufficient, and the capturing processing may not be performed inST127-4 b described in FIG. 127. In the embodiment shown in FIG. 127, insuch case, after “callback” of “insufficient remaining capacity” iscalled in ST127-6 b, the API command processing ends (ST126-9 a). Uponreception of “callback” of “insufficient remaining capacity” aftercompletion of the “capture” function, the navigation manager NVMNG (seeFIG. 14) executes deletion processing of unwanted resource files in thefile cache FLCCH in the data cache DTCCH. At this time, the deletionprocessing is appropriately executed in turn from resource files withhigher deletion priority levels based on the aforementioned deletionpriority order. When a plurality of resource files having the samedeletion priority level value remain undeleted although resource filesneed be deleted to assure a specific remaining capacity, the navigationmanager NVMNG is unable to make a decision about which of resource filesis to be deleted first. At this time, the “getPriority” function shownin FIG. 149 is called to read individual deletion priority levelinformation of each resource file to be deleted, and to raise thedeletion priority level of a specific resource file based on thedescription contents in the playlist PLLST. After that, by issuing the“setPriority” function shown in FIG. 150, the deletion priority level ofthe specific resource file in the navigation manager NVMNG is raised,and the resource file with a highest deletion priority level thatremains in the file cache FLCCH in the data cache DTCCH can be deletedbased on that deletion priority level. In this manner, the API commandsshown in FIGS. 149 and 150 are normally handled in the navigationmanager NVMNG, and are used as a part of the systematic processing. Theinvention is not limited to the above embodiment. As another applicationexample, the ECMA script processor ECMASP in the advanced applicationmanager ADAMNG shown in FIG. 44 may execute, as a main body, processingbased on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform executionprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the execution processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

FIG. 149 shows the detailed processing contents of the “getPriority”function.

<GetPriority>

The getPriority function is used to get a discarding priority of file inFile Cache. Application is able to specify only a file in ‘temp’directory under the root directory of File Cache.

Parameters;

uri of type String

Specifies the full URI that indicate file to test. This parameter shallbe follow URI rule.

Return Value:

priority of type unsigned int

Returns the priority of specified file.

Valid Range: 0 to 231−1

Exceptions:

HDDVD_E_ARGUMENT

HDDVD_E_FILENOTFOUND

Detailed processing is as follows:

1) Check whether the assigned argument uri is valid or not. “valid”means uri is right format and specified file exists in temp directory inFile Cache.

If it is valid:

2) Go to step 3)

Otherwise:

2) Throw HDDVD_E_ARGUMENT and return immediately.

3) Check whether the file specified by uri exists.

If the file exists:

4) Go to step 5)

Otherwise:

4) Throw HDDVD_E_FILENOTFOUND and return immediately.

5) Return the discarding priority of the specified file.

The “getPriority” function is a function used to get the deletionpriority level of a resource file in the file cache FLCCH . Uponstarting the API command processing in ST149-1 a, it is checked inST149-2 a if the designated URI parameter is described in a correctformat, and the designated file is saved in the file cache FLCCH. If thedesignated file is not saved in the file cache FLCCH, an error messageis output in ST149-4 a, and the processing of the “getPriority” functionends in ST149-5 a. If it is determined in ST149-2 a that the designatedURI parameter is described in a correct format, and the designated fileis saved in the file cache FLCCH, a reply of the deletion priority levelof the designated file is made in ST149-3 a, and the processing of the“getPriority” function then ends in ST149-5 a.

<SetPriority>

The setPriority function is used to set a discarding priority of file inFile Cache. Application is able to specify only a file in ‘temp’directory under the root directory of File Cache.

Parameters:

uri of type String

-   -   Specifies the full URI that indicate file to set. This parameter        shall be follow URI rule.    -   Specifies the discarding priority of specified file.

Valid Range: 0 to 231−1

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

HDDVD_E_FILENOTFOUND

Detailed processing is as follows:

1) Check whether the assigned argument uri is valid or not. “valid”means uri is right format and specified file exists in temp directory inFile Cache.

If it is valid:

2) Go to step 3)

Otherwise;

2) Throw HDDVD_E_ARGUMENT and return immediately.

3) Check whether the file specified by uri exists.

If the file exists:

4) Go to step 5)

Otherwise:

4) Throw_HDDVD_E_FILENOTFOUND and return immediately.

5) Set the discarding priority to the specified file.

Upon starting the API command processing in ST150-1 b, it is checked inST150-2 b if the designated URI parameter is described in a correctformat, and the designated file is saved in the file cache FLCCH. If thedesignated file is not saved in the file cache FLCCH, an error messageis output in ST150-5 b, and the processing of the “setPriority” functionends in ST150-6 b. By contrast, if it is determined in ST150-2 b thatthe designated URI parameter is described in a correct format, and thedesignated file is saved in the file cache FLCCH, it is checked inST150-3 b if the deletion priority level value of the designated filefalls within the valid range. As shown in FIG. 70B, resource files to betemporarily saved in the file cache FLCCH in this embodiment includethree different types of resources, i.e., a playlist applicationresource PLAPRS, title resource TTRSRC, and application resource APRSRC.The resource files to be deleted from the file cache FLCCH currentlyinclude the title resource TTRSRC and application resource APRSRC ofthose described above. The deletion priority level value which can beset for each resource is designated as follows. That is, the value rangeof the deletion priority level for the title resource TTRSRC isdescribed in the “priority order information PRIORT for correspondingresource deletion” (priority attribute information) in the titleresource element described in the resource information RESRCI in theplaylist PLLST, as shown in FIG. 66D. As the range to be set, positivenumerical values ranging from 0 to 231−1 can be described, and resourceswith larger values can be deleted first. The valid range for theapplication resource APRSRC is described in the “priority orderinformation PRIORT for corresponding resource deletion” (priorityattribute information) in the application resource element APRELE in theplaylist PLLST, as shown in FIG. 63D. As values to be set, positivenumerical values ranging from 1 to 231−1 can be described, and resourceswith larger values can also be deleted first. The valid range of thedeletion priority level value in ST150-3 b is designated in advance asthe aforementioned range, and it is checked in ST150-3 b if the deletionpriority level value of the designated file falls within the aboverange. As a result of checking, if the value falls outside the validrange, an error message is output in ST150-5 b, and the processing ofthe “setPriority” function ends in ST150-6 b. By contrast, if it isdetermined in ST150-3 b that the deletion priority level value of thedesignated file falls within the valid range, the deletion prioritylevel value of the designated file is set in ST150-4 b (to change thevalue set in advance in the playlist PLLST). After the above settingchange, the processing of the “setPriority” function ends in ST150-6 b.

The “moveToTop” function shown in FIG. 151 of API commands defined inthis embodiment is an API command used to move and present the currentapplication to the frontmost side. The “moveToBottom” function shown inFIG. 152 is an API command used to move and present the currentapplication to the rearmost side. FIG. 16 shows a presentation exampleof the advanced content ADVCT used in this embodiment. As shown in FIG.16, in this embodiment, various buttons from the help icon 33 to the FFbutton 38 which belong to the advanced application ADAPL line up on thelower side. In FIG. 16, the respective buttons are laid out at separateposition without overlapping each other. However, depending on thesettings of a contents provider, various buttons may be set to partiallyoverlap each other. When various buttons overlap each other in this way,information used to set which of buttons is to be presented on the upperside (front side) is called “Z-order”. The “Z-order” value is programmedand set in advance by “Z-order attribute” (Z-index information (zorderattribute information) in an application segment element APPLSGdescribed in the object mapping information OBMAPI in the playlistPLLST. Such layout order of buttons to be presented to the user can bechanged by the “moveToTop” function or “moveToBottom” function. Forexample, when a plurality of buttons (applications) are presented topartially overlap each other, if a specific button (application) is tobe laid out at the frontmost side, the user moves the cursor to thebutton (application) position to be designated, and designates (focuses)it by double clicking or the like, thus moving the corresponding button(application) to the frontmost side in many cases. Therefore, the“moveToTop” function or “moveToBottom” function shown in FIG. 151 or 152is executed for a button (application) based on a user operation UOPE tomove it to the frontmost side or rearmost side. The processing contentswill be described in detail below. As shown in FIG. 14, the informationrecording and playback apparatus 1 in this embodiment includes theadvanced content playback unit ADVPL, which includes the navigationmanager NVMNG. When user's input processing is done, the aforementionedinformation is input to the navigation manager NVMNG as a user operationUOPE. That is, as shown in FIG. 28, the navigation manager NVMNGincludes the user interface engine UIENG, which includes the mousecontroller MUSCTR. When the user moves the cursor to a specific button(application) position using the mouse and double-clicks the mousebutton, the mouse controller MUSCTR issues a user interface event UIEVTto the advanced application manager ADAMNG in response to thatoperation. When the user interface event UIEVT is issued, the ECMAscript processor ECMASP in the programming engine searches the advancedapplication script ADAPLS, as shown in FIG. 44. As a result, if it isdetermined that the button (application) designated by the user need beshifted to the frontmost side, information of the “moveToTop” functionsaved in advance in the advanced application script ADAPLS is read, andthe aforementioned API command is transferred to the presentation enginePRSEN or playlist manager PLMNG. In this manner, the “moveToTop”function shown in FIG. 151 is normally issued in the navigation managerNVMNG when a specific button (application) is focused based on the useroperation UOPE. The invention is not limited to the above embodiment. Asanother application example, the ECMA script processor ECMASP in theadvanced application manager ADAMNG shown in FIG. 44 may execute, as amain body, processing based on the following sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform executionprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the execution processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<moveToTop>

This function moves the current application to the top of theapplication z-order.

Parameters: None

Return Value: None

Exceptions: None

Detailed Processing is as follows:

1) Check whether current application is top of z-order. When it is top,return immediately.

2) Change z-order of current Application to top, and subtract one fromz-order other application.

3) Application event handling order shall reflect the new z-orderimmediately. Any events currently in the event queue shall be processedby applications according to the new z-order.

FIG. 151 shows the detailed processing contents of the “moveToTop”function.

Upon starting the API command processing in ST151-1 a, it is checked inST151-2 a if the corresponding application is laid out at the frontmostside in the Z-order. If the corresponding application is laid out at thefrontmost side, since the processing of the “moveToTop” function doesnot make any sense, the processing of the “moveToTop” function ends inST151-5 a. By contrast, if it is determined in ST151-2 a that thecorresponding application is not laid out at the frontmost side in theZ-order, the Z-order of the corresponding application is moved to thefrontmost side, and the Z-order values of all other applications aredecremented by one in ST151-3 a. In this embodiment, applications withsmaller Z-order values are laid out at the rear side, and an applicationwith a largest Z-order value is presented on the front side with respectto the user. Therefore, when a specific application is moved to thefrontmost side, the layout order of all other applications which arelaid out at the front side of the specific application need to beshifted to the rear side. Therefore, the Z-order values designated inthe playlist PLLST for all the corresponding applications aredecremented by one to change their positions. After completion of theprocessing in ST151-3 a, the application event handling order isreflected in new Z-order values in ST151-4 a. As shown in FIG. 16, inthis embodiment, various applications from the help icon 33 to the FFbutton 38 which belong to the advanced application ADAPL can bepresented side by side in the single markup MRKUP. When the userdesignates a specific button (in an active state) in the advancedapplication ADAPL shown in FIG. 16, event information is set for eachbutton (application) to be able to issue the API command in response tothat designation. That is, as shown in FIG. 105, a timing element TIMGELis allocated in a head element HEADEL in the markup MRKUP, an eventelement EVNTEL is described in that timing element TIMGEL, and an eventcorresponding to each button (application) can be set using “name”attribute information in the event element EVNTEL. As shown in FIG. 105,the script SCRPT describes, in a descriptive sentence APIFNC of afunction in an API command, that a corresponding API command can beissued in response to an event generated in the markup MRKUP. Forexample, when the user designates a specific button (application), anevent is generated by an event element EVNTEL in response to thatdesignation, an event listener EVTLSN monitors that event, and thedesignated function defined by an API command is executed based on theresult. In this case, the “moveToTop” function is described at theposition of the function name where the API command is described in thedescriptive sentence APIFNC of the function in the API command in thescript SCRPT described in FIG. 105. This embodiment is not limited tothis. For example, by specifying various API commands designated inFIGS. 106A to 110B in the column of the function name defined by an APIcommand in the descriptive sentence APIFNC of the function in the APIcommand, arbitrary function processing (application event handling) canbe taken place. In this embodiment, as shown in FIG. 56D, “advancedapplication group attribute (index number) information APGRAT” (groupattribute information) can be specified in the application segmentelement APPLSG. By utilizing the value of this information, a pluralityof applications having the same value of the “advanced application groupattribute (index number) information APGRAT” can be grouped as anidentical group, and the plurality of applications in the identicalgroup can simultaneously be transited to an active state. Applicationevent handlings (script SCRPT processing designated by a set of APIcommands) generated when the plurality of applications in the identicalgroup are simultaneously transited to an active state are executed inthe aforementioned order of “Z-order”. That is, when a plurality ofbuttons (applications) overlap each other, the application eventhandlings (script SCRPT designated by a set of API commands) areexecuted in turn from a button (application) which is laid out on thefront side viewed from the user. Reflecting the order of applicationevent handlings in new Z-order values in ST151-4 a means that theapplication event handlings (script SCRPT designated by a set of APIcommands) are executed in turn based on the order of Z-order sorted inST151-3 a. Upon completion of the setting in ST151-4 a, the processingof the “moveToTop” function ends in ST151-5 a.

<moveToBottom>

This function moves the current application to the bottom of theapplication z-order.

Parameters: None

Return Value: None

Exceptions: None

Detailed Processing is same as the moveToTop function, except thedifference between going to top and bottom.

The processing contents of the “moveToBottom” function will be explainedusing FIG. 152. The “moveToBottom” function indicates the contentsexactly the opposite to the aforementioned “moveToTop” function. Thatis, upon starting the API command processing in ST152-1 b, it is checkedin ST152-2 b if a corresponding application is laid out at the rearmostside in the Z-order. If the application is laid out at the rearmostside, since the “moveToBottom” function does not make any sense, theprocessing ends in ST152-5 b. By contrast, if it is determined inST152-2 b that the corresponding application is not laid out at therearmost side in the Z-order, the Z-order of the correspondingapplication is moved to the rearmost side, and the Z-order values of allremaining applications are incremented by 1 in ST152-3 b. As describedabove, an application having a smaller Z-order value is laid out at arear side. Therefore, when the designated application is laid out at therearmost side, since the Z-order value of the designated application isset to be a smallest value, the Z-order values of all other applicationsare incremented by one to shift the applications to the front side.After that, the application event handling order is reflected in newZ-order values in ST152-4 b. When a plurality of applications, which aregrouped, as described above, are simultaneously executed, theapplication event handlings (script SCRPT based on an API commandsequence) are sequentially executed in turn from the front side. Uponcompletion of the reflecting processing, the processing of the“moveToBottom” function ends in ST152-5 b. The “link” function shown inFIG. 153 is an API command used upon replacing the currently executedmarkup page by a linked markup page. As shown in FIG. 104, transitionamong a plurality of markup files MRKUP is allowed within a valid timeAPVAPE of an identical advanced application. As shown in FIG. 81A, themanifest file MNFST includes a markup element MRKELE, and a “savinglocation SRCMRK of a markup file to be used first” (src attributeinformation) in the markup element MRKELE describes the saving location(path) and file name of a file corresponding to markup (first markup)MRKUP#0 shown in FIG. 104, as shown in FIG. 81D. As for markup MRKUP#1and markup MRKUP#2, their saving locations and file names are describedin a resource element RESELE shown in FIG. 81A. That is, a “savinglocation SRCRSC of a corresponding resource” (src attribute information)shown in FIG. 81E describes the saving locations (paths) and file namesof files of the markup MRKUP#1 and markup MRKUP#2 shown in FIG. 104.Before playback presentation of the corresponding advanced applicationADAPL, all pieces of information of markup MRKUP files are saved inadvance in the file cache FLCCH. Therefore, transition among the markupfiles MRKUP can be instantaneously made within the valid time APVAPE ofthe advanced application shown in FIG. 104 without making the user wait.The “link” function shown in FIG. 153 is mainly programmed in advance inthe script SCRPT corresponding to the markup MRKUP. The “link” functionis issued according to a program of the script SCRPT, and transitionamong markup files MRKUP is normally executed. That is, as shown in FIG.105, the timing element TIMGEL in the head element HEADEL in the markupMRKUP can describe an event element EVNTEL, and “name attributeinformation” in the event element EVNTEL can set a “name EVNTNMcorresponding to an event which can be arbitrarily termed”. Along withthe progress of the markup MRKUP, when transition between markup filesMRKUP takes place, an event is generated in correspondence with theevent element EVNTEL. In response to this event, the event listenerEVTLSN in the script SCRPT shown in FIG. 105 monitors generation of anevent, and executes the “link” function based on the descriptivesentence APIFNC of the function in the API command in the script SCRPTupon generation of the event. In the field of the descriptive sentenceAPIFNC of the function in the API command in the script SCRPT shown inFIG. 105, in a current use example, “link” is described in the field ofthe descriptive sentence APIFNC of the function in the API command. Inthis manner, transition among markup files MRKUP takes place based onthe “link” function defined in the script SCRPT. Therefore, the “link”function shown in FIG. 153 has a function of replacing the currentlyexecuted markup page with a markup page MRKUP at a link destination.FIG. 153 shows the contents of the “link” function in detail.

<Link>

Replaces the current active mark up page with the page linked to.Destination URI shall be a well formed Markup. When this Markup is notwell formed, Player shall not change Markup page. Player shall not waitMarkup loading.

Parameters:

uri of type String

The URI of the page to link to. This file shall exist in API ManagedArea.

Return Value: None

Exceptions:

HDDVD_E_ARGUMENT

Detailed processing is as follows:

1) Check whether the assignment argument uri is valid format.

If it follow valid format:

2) Start Load Markup sequence.

Otherwise:

2) Throw an exception, HDDVD_E_ARGUMENT.

Load Markup sequence is as follows:

3) Load and validate specified Markup file.

If it is well formed:

2) Change Markup page and call Markup loaded handler. This handler isset by setMarkupLoadedHandler function.

Otherwise:

2) Finish.

Upon starting the API command processing in ST153-1 c, it is checked inST153-2 c if the designated URI information has a valid format. If thedesignated URI information does not have a valid format, an errormessage is output in ST153-4 c, and the control advances to the endprocessing in ST153-5 c. If it is determined in ST153-2 c that thedesignated URI information has a valid format, a “Load Markup” sequencestarts in ST153-3 c. Upon completion of the “Load Markup” sequence, theprocessing of the “link” function ends in ST153-5 c. FIG. 154 shows theprocessing procedure of the “Load Markup” sequence used in ST153-3 c inFIG. 153. Upon starting the “Load Markup” sequence in ST154-1 d, it ischecked in ST154-2 d if the designated markup file is loaded and theloaded markup file is valid. If the designated markup file is loaded andthe loaded markup file is invalid, the control directly jumps to the endprocessing in ST154-4 d. By contrast, if the designated markup file isloaded and the loaded markup file is valid, the markup page to bepresented is replaced, and “markup loaded handler”(setMarkupLoadedHandler) is called in ST154-3 d. After that, theprocessing of the “Load Markup” sequence ends in ST154-4 d, and thecontrol returns to the “link” function shown in FIG. 153. The contentsof “markup loaded handler” (setMarkupLoadedHandler) in ST154-3 d mean anAPI command that sets a callback function to be called when the currentmarkup page is loaded, as shown in FIGS. 106A to 110B.

As shown in FIG. 57, a big characteristic feature of this embodimentlies in that a plurality of advanced applications ADAPL havinginformation with different languages to be presented are provided withrespect to identical contents, and an appropriate advanced applicationADAPL is activated from these applications based on the language used bythe user and is presented to the user. In the embodiment shown in FIG.57, a plurality of advanced applications ADAPL are prepared in advancein correspondence with different languages to be presented to the user.However, the invention is not limited to this. For example, a pluralityof advanced applications ADAPL are prepared in advance, and anappropriate advanced application ADAPL is activated in accordance withthe use conditions of the user and is presented to the user. FIG. 58shows a method of selecting an advanced application ADAPL to beactivated from a plurality of advanced applications ADAPL prepared inadvance. Auto-run information ATRNAT in ST6.2.3.9-3-2 in FIG. 58 isdescribed in FIG. 56D. That is, the application segment element APPLSGdescribed in the object mapping information OBMAPI in the playlist PLLSTin this embodiment includes auto-run information ATRNAT, as shown inFIG. 56D. As shown in ST6.2.3.9-3-2 in FIG. 58 or FIG. 56D, when thetime on the title timeline TMLE to be presented to the user falls withinthe range defined between the start time TTSTTM on the title timeline(titleTimeBegin attribute information) and the end time TTEDTM on thetitle timeline (titleTimeEnd attribute information), and when theauto-run information ATRNAT is “true”, the corresponding advancedapplication ADAPL is automatically activated. By contrast, when thevalue of the auto-run information ATRNAT is set to be “false”, even whenthe playback time on the title timeline TMLE falls within the above timerange, the corresponding advanced application ADAPL is not activated. Atthis time, an API command that activates the corresponding advancedapplication ADAPL is the “activate” function shown in FIG. 155. Asdescribed above, when the value of the auto-run information ATRNAT is“true”, the corresponding advanced application ADAPL is automaticallyactivated. In this case, when the corresponding advanced applicationADAPL is to be inactivated halfway through, the “inactivate” functionshown in FIG. 156 is issued to transit the active state of the advancedapplication ADAPL to an inactive state. Of the API commands defined inthis embodiment, the “activate” function has a function of activating acorresponding advanced application ADAPL, and the “inactivate” functionhas a function of inactivating the corresponding advanced applicationADAPL. The “activate” function and “inactivate” function shown in FIG.155 and 156 are normally set by the script SCRPT. More specifically, asshown in FIG. 14, the advanced application ADAPL in this embodimentincludes the script SCRPT. The script SCRPT is programmed in advance totransit the designated advanced application ADAPL to an active orinactive state based on specific conditions. When the specificconditions are satisfied, the “activate” function or “inactivate”function is issued to transit the corresponding advanced applicationADAPL between the active and inactive states. The invention is notlimited to the above embodiment. As another application example, theECMA script processor ECMASP in the advanced application manager ADAMNGshown in FIG. 44 may execute, as a main body, processing based on thefollowing sequence:

1. an event is generated (the event is input to the navigation managerNVMNG);

2. the ECMA script processor ECMASP searches the advanced applicationmanager ADAMNG and file cache FLCCH for a script SCRPT that describesthe processing method (function contents) corresponding to the event;

3. the ECMA script processor ECMASP controls to perform executionprocessing of (a series of) functions in the advanced content playbackunit ADVPL in accordance with the contents of the extracted scriptSCRPT; and

4. the execution processing contents controlled by the ECMA scriptprocessor ECMASP follow the flowchart contents for the functions to bedescribed below.

<Activate>

This function is used to activate the application. When this function iscalled, Player shall activate the this application only if allconditions for application execution are met. Specifically,

1. Application is valid: ie. Title Time>=Title Time Begin and Title Time<Title Time End and

2. Application Segment is selected - current language and group.

If not, Player shall throw an exception, HDDVD_E_INVALIDOPERATION. Andthis function does not wait the starting of specified Application.

Parameters: None Return

Value: None

Exceptions: HDDVD_E_INVALIDOPERATION

Detailed processing is as follows.

1) Check conditions described in the remarks section, above.

2) If one or more of the conditions described in the Remarks section,above, are not met raise HDDVD_B_INVALIDOPERATION exception and return.

3) If all conditions described in the Remarks section above are met,load application (if not loaded) and begin application executionimmediately.

4) Return.

The processing contents of the “activate” function will be describedbelow using FIG. 155.

Upon starting the API command processing in ST155-1 a, it is checked inST155-2 a if the current playback time in the title timeline TMLE has avalue equal to or larger than titleTimeBegin, it has a value smallerthan titleTimeEnd, and an application segment that matches the currentlanguage information and group is selected. “titleTimeBegin” in ST155-2a means the start time TTSTTM on the title timeline in the applicationsegment element APPLSG shown in FIG. 54D. Also, “titleTimeEnd” inST155-2 a means the end time TTEDTM on the title timeline (titleTimeEndattribute information) in the application segment element APPLSG shownin FIG. 54D. Furthermore, “a match with the current language informationand group” means that the application segment corresponds to thelanguage described in FIG. 57, and that it matches the determinationconditions shown in FIG. 58. If the selected application segment doesnot match such determination conditions, an error message is output inST155-4 a, and the processing of the “activate” function ends in ST155-5a. By contrast, if all the determination conditions in ST155-2 a aresatisfied, and if a corresponding advanced application ADAPL is notdownloaded yet, the corresponding advanced application ADAPL isdownloaded and is activated in ST155-3 a. Immediately after thecorresponding advanced application ADAPL is activated, the processing ofthe “activate” function ends in ST155-5 a. The contents of the“inactivate” function will be described below using FIG. 156.

<Inactivate>

This function is used to inactivate the application. The function doesnot alter the auto run property of the application in the Play list. Thefunction is not able to inactivate the Play list Application.

Parameters: None

Return Value: None

Exceptions: HDDVD_E_INVALIDOPERATION

Detailed processing is as follows:

1) Check if application is currently executing, if not running, raise

HDDVD_E_INVALIDOPERATION exception and exit immediately.

2) Check if application is the Play list Application, if it is, raiseHDDVD_E_INVALIDOPERATION exception and exit immediately.

3) If application is currently active, begins the application shutdownprocess.

4) Return.

Upon starting the API command processing in ST156-1 b, it is checked inST156-2 b if the corresponding advanced application ADAPL is currentlyactive. If the corresponding advanced application ADAPL is currently“inactive”, an error message is output in ST156-4 b, and the processingends in ST156-5 b. If it is determined in ST156-2 b that thecorresponding advanced application ADAPL is currently active, shutdownprocessing of the current application is executed in ST156-3 b to“inactivate” it. Immediately after the corresponding advancedapplication ADAPL is “inactivated”, the processing of the “inactivate”function ends in ST156-5 b.

As shown in FIG. 16, in this embodiment, the help icon 33 to the FFbutton 38, which belong to the advanced application ADAPL, are laid outside by side, and can be designated from the user. In the embodimentshown in FIG. 16, the respective buttons (applications) are avoided fromoverlapping neighboring buttons (applications). Alternatively, dependingon the window design of a contents provider, the sizes of the help icon33 to the FF button 38 may be increased, and the respective buttons(applications) may be presented to partially overlap each other. When aplurality of buttons (or presentation windows of applications) partiallyoverlap each other, “Z-order” is set as a parameter indicating which ofbuttons is to be presented on the front side in this embodiment. Thatis, in the embodiment shown in FIG. 16, “Z-order” values are set forvarious buttons (or presentation windows of applications), i.e., thehelp icon 33 to the FF button 38, when these buttons (or thepresentation windows of the advanced applications ADAPL) overlap eachother, a button with a larger “Z-order” value can be set to be presentedon the front side. In this embodiment, the “Z-order” value can be set inadvance in the playlist PLLST. That is, as shown in FIG. 56, in thisembodiment, the playlist PLLST includes the object mapping informationOBMAPI, which can describe the application segment element APPLSG thatindicates management information for each advanced application ADAPL. Asshown in FIG. 56D, the application segment element APPLSG can describethe value of Z-order attribute (Z-index) information ZORDER. With thisinformation, a unique “Z-order” value can be set for each advancedapplication ADAPL. In this way, “Z-order” values are defined in advancein the playlist PLLST for respective advanced applications ADAPL. Whenthe “Z-order” value defined in advance is to be changed, the “Z-order”value which is set in advance can be changed by issuing the “moveBefore”function or “moveAfter” function shown in FIG. 157 or 158. That is, the“moveBefore” function has a function of shifting the designatedapplication to a position immediately before a target application. The“moveAfter” function serves to shift the designated application to aposition immediately after the target application. Of both of these APIcommands, the application event handling order is set based on new“Z-order” values set after issuance of the API command. As shown in FIG.56D, the application segment element APPLSG can describe “advancedapplication group attribute (index number) information APGRAT” (groupattribute information). All advanced applications ADAPL set with thesame value of the “advanced application group attribute (index number)information APGRAT” (group attribute information) form an identicalgroup. When a specific group is activated by, e.g., a user input or thelike, all the advanced applications ADAPL which belong to that group areactivated at the same time. At that time, in the application eventhandling order which is used to invoke activation in practice and is setaccording to new “Z-order” values which are set after the “moveBefore”function or “moveAfter” function is issued, the application eventhandlings begin to be activated in turn from the front side viewed fromthe user. The execution contents of the “moveBefore” function will bedescribed below using FIG. 157.

<moveBefore>

Moves the z-order of the application identified to before the z-order ofthe target application.

Parameters

target of type AdvancedApplication

indicates the z-order of the target application

Return Value: None

Remarks: Insert before refers to insertion numerically before the targetapplication.

Ex. 1 application calling method on currently has a z-order of 3,applicationTarget has a z-order of 6. Calling this method on applicationchanges it's z-order to 5, all others are re-ordered to accommodate.

Ex. 2 application y calling method on currently has a z-order of 6,applicationTarget has a z-order of 3. Calling this method on applicationchanges its z-order to 3, and z-order of applicationTarget to 4, allothers are re-ordered to accommodate.

Exceptions:

HDDVD_E_ARGUMENT

HDDVD_E_INVALIDOPERATION

Detailed Processing is as follows:

1) Compare z-order of current application to z-order oftargetApplication in Navigation Manager.

2) If parameter is invalid, raise HDDVD E ARGUMENT exception.

3) If the zorder property of targetApplication object is NaN, raiseHDDVD E INVALIDOPERATION exception.

4) If z-orders are equal, exit.

5) If z-orders are different, change z-order of current application totargetApplication −1, re-order other application's z-orders if necessaryto accommodate.

6) The change in z-order is instantaneous upon execution of themoveBefore call. Application event handling order shall reflect the newz-order immediately upon execution of the moveBefore call. Any eventscurrently in the event queue shall be processed by applicationsaccording to the new z-order.

Upon starting the API command processing in ST157-1 a, it is checked inST157-2 a based on the comparison result of Z-order values of anapplication designated by the navigation manager NVMNG (see FIG. 14) anda target application if the Z-order values of the two applications arevalid, and the Z-order value of the target application is not an upperlimit value. If either of the Z-order values of the two applications isinvalid, or if the Z-order value of the target application is an upperlimit value, an error message is output in ST157-3 a, and the processingof the “moveBefore” function ends in ST157-8 a. By contrast, if it isdetermined in ST157-2 a that the Z-order values of both the designatedapplication and the target application are valid, and the Z-order valueof the target application is not an upper limit value, it is checked inST157-4 a if the Z-order values of the designated application and thetarget application are not equal to each other. If the Z-order values ofthe two applications are equal to each other, the processing immediatelyends in ST157-8 a. If it is determined in ST157-4 a that the Z-ordervalues of the designated application and the target application are notequal to each other, the Z-order value of the designated application ischanged to a value larger by “1” than that of the target application inST157-5 a. Upon completion of the processing in ST157-5 a, it is checkedin ST157-6 a if the Z-order values of other applications are required.If the Z-order values of other applications are not required, thecontrol immediately advances to the end processing in ST157-8 a; if itis determined in ST157-6 a that the Z-order values of other applicationsare required, the Z-order values of required other applications arechanged in ST157-7 a, and the processing of the “moveBefore” functionends in ST157-8 a. The processing contents of the “moveAfter” functionwill be described below using FIG. 158.

<moveAfter>

Moves the z-order of the application to after the z-order of the targetapplication.

Parameters:

target of type AdvancedApplication

indicates the z-order of the target application

Return Value None

Remarks: Insert after refers to insertion numerically after the targetapplication.

Ex. 1 application currently has a z-order of 3, applicationTarget has az-order of 6. Calling this method on application changes it's z-order to6. All other application's z-orders are re-ordered to accommodate.

Ex. 2 application currently has a z-order of 6, applicationTarget has az-order of 3. Calling this method on application changes its z-order to4, all others are re-ordered to accommodate.

Exceptions:

HDDVD_E_ARGUMENT

HDDVD_E_INVALIDOPERATION

Detailed Processing is as follows;

1) Compare z-order of current application to z-order oftargetApplication in Navigation Manager.

2) If parameter is invalid, raise HDDVD E ARGUMENT exception.

3) If the zorder property of targetApplication object is NaN, raiseHDDVD E INVALIDOPERATION exception.

4) If z-orders are equal, exit.

5) If z-orders are different, change z-order of current application totargetApplication +1, re-order other application's z-orders if necessaryto accommodate.

6) The change in z-order is instantaneous upon execution of themoveAfter call. Application event handling order shall reflect the newz-order immediately upon execution of the moveAfter call. Any eventscurrently in the event queue shall be processed by applicationsaccording to the new z-order.

Upon starting the API command processing in ST158-1 b, it is checked inST158-2 b based on the comparison result of Z-order values of anapplication designated by the navigation manager NVMNG (see FIG. 14) anda target application if the Z-order values of the two applications arevalid, and the Z-order value of the target application is not a lowerlimit value. If either of the Z-order values of the two applications isinvalid, or if the Z-order value of the target application is a lowerlimit value (ST158-2 b), an error message is output in ST158-3 b, andthe processing of the “moveAfter” function ends in ST158-8 b. If it isdetermined in ST158-2 b that the Z-order values of both the designatedapplication and the target application are valid, and the Z-order valueof the target application is not a lower limit value, it is checked inST158-4 b if the Z-order values of the designated application and thetarget application are not equal to each other. If the Z-order values ofthe two applications are equal to each other, the processing immediatelyends in ST158-8 b. By contrast, if it is determined in ST158-4 b thatthe Z-order values of the designated application and the targetapplication are not equal to each other, the Z-order value of thedesignated application is changed to a value smaller by “1” than that ofthe target application in ST158-5 b. Upon completion of the processingin ST158-5 b, it is checked in ST158-6 b if the Z-order values of otherapplications are required. If the Z-order values of other applicationsare not required, the control immediately advances to the end processingin ST158-8 b; if it is determined in ST158-6 b that the Z-order valuesof other applications are required, the Z-order values of required otherapplications are changed in ST158-7 b, and the processing of the“moveAfter” function ends in ST158-8 b.

As shown in FIG. 14, the entire playback management information of theadvanced content ADVCT in this embodiment is integrated in the playlistPLLST. Also, the management information of playback presentationassociated with the advanced application ADAPL in the advanced contentADVCT is configured by the playlist PLLST, markup MRKUP, script SCRPT,and the like. As shown in FIG. 83F or FIG. 84A, in this embodiment, theplaylist PLLST is described by an “XML” description method. Also, asshown in FIG. 92F or 102B(e), the contents of the markup MRKUP aredescribed by the “XML” description method. The advanced content playbackunit ADVPL included in the information recording and playback apparatus1 in this embodiment incorporates the navigation manager NVMNG, as shownin FIG. 14. The navigation manager NVMNG includes the parser PARSER, asshown in FIG. 28. The parser PARSER parses the description contents of“XML”, and sends the parsing result to the playlist manager PLMNG oradvanced application manager ADAMNG. In this embodiment, especially, theparser PARSER transfers the “XML” parsing result of the playlist PLLSTto the playlist manager PLMNG, and transfers the “XML” parsing result ofthe markup MRKUP to the advanced application manager ADAMNG. In thisembodiment, the playlist PLLST and markup MRKUP are recorded in advancein the persistent storage PRSTR, network server NTSRV, or informationstorage medium DISC, as shown in FIG. 14. The recorded playlist PLLSTand markup MRKUP are transferred into the navigation manager NVMNG viathe data access manager DAMNG, as shown in FIG. 14. In the navigationmanager NVMNG, the parser PARSER parses “XML” description documentsassociated with the transferred playlist PLLST and markup MRKUP. Acommand for “XML” parsing of the parser PARSER corresponds to the“parse” function shown in FIG. 159. As shown in FIG. 28, upon receptionof the “parse” function, the parser PARSER executes “XML” parsingprocessing according to the flowchart shown in FIG. 159. That is, the“parse” function defined as an API command in this embodiment executesprocessing for loading an “XML” document into the file cache FLCCH, andparsing its contents.

<Parse>

The parse function asynchronously loads a XML Document from thespecified file and parses to DOM Document object. The parse functionshall not validate the document. This function shall return immediatelywithout waiting for the stream data, or parsing.

Parameters:

uri of type String

-   -   Specifies uri of the file name from which XML Document is        loaded. The XML Document is able to be loaded only from the API        Managed Area of File Cache, Disc, or Provider ID directory in        Persistent Storage. This parameter shall be follow URI rule.

callback of type Function

Specify the callback function for the state change. The function shallbe the following interface:   void callback (status: int, document:Document) ;   Parameters:    status of type int:

-   -   -   The status parameter is set XMLParser.OK if parsing is            successes. Otherwise it is set to XMLParser.PARSING_ERR.        -   XMLParser. FILE_NOT_FOUND_ERR if the file is not found            XMLParser. FILECACHE_ERR if the file cache copy is failed            because, it has no enough space, or same file is exist            XMLParser.PARSING_ERR if the file is not well-formed.        -   document of type Document:        -   The document parameter is set to the result DOM Document            object of type Document if parsing is successes. Otherwise            it is set to null.

Return Value: None

Exceptions:

HDDVD_E_INVALIDOPERATION

HDDVD_E_ARGUMENT

Detailed processing is as follows:

If the uri is invalid

1) throw HDDVD_E_ARGUMENT

If XMLParser current status is not XMLParser.READY, then

2) throw the HDDVD_E_INVALIDOPERATION error.

3) Set the XMLParser current status to XMLParser. PARSING.

4) Create an Document object document of type Document which is emptydocument.

5) Start Parsing sequence to parse asynchronously.

6) Return

Parsing sequence is as follows:

If the uri is on File Cache:

1) Open the file specified uri

If open is failed:

2) Go to 24)

Otherwise

If the ‘file:/// filecache’ has a file with same filename indicated byuri

4) Go to 28)

5) Copy file specified uri into ‘file:/// filecache/’

If the copy is failed by not found:

6) Go to 24)

If the copy is failed by file cache full:

7) Go to 28)

8) Open the copied file

9) Read chunk of stream data from the file, and incrementally parse theread chuck into document object.

If read data, or incremental parsing is failed,

10) Go to 19)

If the file has more data;

11) Go to 9)

12) Check the parsing is succeeded

If the file is well-formed, and parsing is succeeded

13) Remove the copied file if exist:

14) Call callback with parameter as:

callback (XMLParser.OK,document);

15) Set the XML Parser current status to XML.Parser.READY

16) Close the file

17) Stop the Parsing sequence.

Otherwise:

18) Go to 19)

(Parse Error)

19) Remove the copied file if exist:

20) Call callback with parameter as:

callback (XMLParser. PARSE_ERR, null);

21) Set the XML Parser current status to XML.Parser.READY

22) Close the file

23) Stop the Parsing sequence.

(File open error)

24) Remove the copied file if exist

25) Call callback function with parameter as:

callback (XMLParser. FILE_NOT_FOUND_ERR, null);

26) Set the XML Parser current status to XMT.Parser.READY

27) Stop the Parsing sequence.

(File cache copy error)

28) Remove the copied file if exist

29) Call callback function with parameter as:

callback (XMLParser. FILECACHE_ERR, null);

30) Set the XML Parser current status to XML. Parser. READY

31) Stop the Parsing sequence.

The processing contents of the “parse” function will be described belowusing FIG. 159. Upon starting the processing of the “parse” function inST159-1 a it is checked in ST159-2 a if the description format of a URIassociated with an XML document is correct. If it is determined inST159-2 a that the description format of the URI is incorrect, an errormessage is output ST159-7 a, and the processing of the “parse” functionends in ST159-8 a. If it is determined based on the determinationcondition in ST159-2 a that the description format associated with theXML document is correct, it is checked in ST159-3 a if preparation ofthe parser PARSER (see FIG. 28) is complete. If preparation of theparser PARSER in the navigation manager NVMNG shown in FIG. 30 is notcomplete, an error message is output ST159-7 a, and the processing endsin ST159-8 a. If it is confirmed based on the determination condition inST159-3 a that preparation of the parser PARSER is complete, the currentstatus of the XML parser PARSER is set to be “XMLParser.PARSING”(“parsing”) in ST159-4 a, and a document used to save data after parsingis created in ST159-5 a. In the state in ST159-5 a, the document used tosave data after parsing is empty since parsing is not done currently.After that, a “Parsing” sequence starts in ST159-6 a to asynchronouslyexecute parsing processing. Upon completion of the “Parsing” sequence inST159-6 a, the processing of the “parse” function ends in ST159-8 a.FIGS. 160A and 160B shows the detailed processing contents in the“Parsing” sequence in ST159-6 a. The Parsing” sequence shown in FIGS.160A and 160B executes processing for parsing an XML document beforeparsing, which is saved in the file cache FLCCH, and saving the parsingresult in the file cache FLCCH. Therefore, in the “Parsing” sequence,the XML document to be parsed need be saved in the file cache FLCCH inadvance. Furthermore, after completion of parsing of the XML document orafter completion of the “Parsing” sequence, the XML document to beparsed need be deleted from the file cache FLCCH, and the status of theXML parser PARSER (see FIG. 28) need be set to be “preparationcompletion”. The detailed processing contents shown in FIGS. 160A and160B will be described below. Upon starting the “Parsing” sequence inST160-1 b, it is checked in ST160-2 b if the designated URI designates afile in the file cache FLCCH. If it is determined in ST160-2 b that thedesignated URI designates media other than the file cache FLCCH, it ischecked in ST160-7 b if a file having the same file name as that of theXML document to be parsed designated by the URI is already stored in thefile cache FLCCH. If it is determined in ST160-7 b that the file havingthe same file name as that of the XML document to be parsed designatedby the URI is already stored in the file cache FLCCH, a copy file storedin the file cache FLCCH is deleted from the file cache FLCCH in ST160-22b, and “callback” of “file cache copy error” (“FILECACHE_COPY_ERR”) iscalled in ST160-23 b. After that, the current status of the XML parserPARSER is set to be “XMLParser.READY” in ST160-24 b to indicate“preparation completion”, and the processing of the “Parsing” sequenceends in ST160-25 b. Unlike such case, if it is determined in ST160-7 bthat no file having the same file name as that of the XML document to beparsed designated by the URI is stored in the file cache FLCCH, a filedesignated by the URI is copied into the file cache FLCCH in ST180-8 b.As has already been described above, the “Parsing” sequence executesprocessing for saving the XML document to be parsed in advance in thefile cache FLCCH, and saving its parsing result in the file cache FLCCH.In this way, the reliability of access to an XML document to be parsed,which is being processed by the XML parser PARSER, improves, and smoothXML parsing can be guaranteed. This is because when, for example, an XMLdocument to be parsed is stored on the network server NTSRV, a networkline error may occur during parsing of the XML document, and informationof the XML document in the middle of parsing cannot be acquired. In suchcase, it is impossible to attain stable XML parsing on the XML parserPARSER. Therefore, in this embodiment, the XML document to be parsed iscopied in advance into the file cache FLCCH in ST160-8 b. In this case,an XML document which describes the playlist PLLST and markup MRKUPshown in FIG. 14 is saved in the persistent storage PRSTR, networkserver NTSRV, or information storage medium DISC, which is designated bythe URI. When the XML document to be parsed is copied into the filecache FLCCH in ST160-8 b, (the parser PARSER in) the navigation managerNVMNG issues a file copy instruction to the data access manager DAMNGand data cache DTCCH, as shown in FIG. 14. Based on the instruction, thedata access manager DAMNG reads data from the location (path) designatedby the URI in the persistent storage PRSTR, network server NTSRV, orinformation storage medium DISC, and transfers the read XML document tobe parsed into the file cache FLCCH in the data cache DTCCH. At thistime, the data access manager DAMNG controls to save a copy file of theXML document to be parsed at a predetermined location in the file cacheFLCCH. After the series of processes, it is checked in ST160-9 b if thecopy processing of the XML document to be parsed has succeeded. If it isdetermined in ST160-9 b that the copy processing into the file cacheFLCCH has failed, it is checked in ST160-10 b if a file which was to becopied is not found in the file cache FLCCH. If no file which was to becopied into the FLCCH is stored in the file cache FLCCH (ST160-10 b),“callback” of “no file” (“FILE_NOT_FOUND_ERR”) is called in ST160-21 b.After that, the current status of the XML parser PARSER is set to be“XMLParser.READY” in ST160-24 b to indicate “preparation completion”,and the processing of the “Parsing” sequence ends in ST160-25 b. Thecontrol then returns to the “parse” function shown in FIG. 159. Bycontrast, as the reason for the copy failure of the XML document to beparsed into the file cache FLCCH as the determination result in ST160-9b, except for the absence of a copied file in the file cache FLCCH inST160-10 b, it is checked in ST160-11 b if the copying processing hasfailed due to an insufficient remaining capacity of the file cacheFLCCH. If the determination condition in ST160-11 b is met, i.e., thecopying processing has failed due to an insufficient remaining capacityof the file cache FLCCH, and if a copy file is already stored in thefile cache FLCCH, that copy file is deleted from the file cache FLCCH inST160-22 b, and “callback” of “file cache copy error”(“FILECACHE_COPY_ERR”) is called in ST160-23 b. After that, the currentstatus of the XML parser PARSER is set to be “XMLParser.READY” inST160-24 b to indicate “preparation completion”, and the processing ofthe “Parsing” sequence ends in ST160-25 b. If a cause for the copyfailure of the XML document to be parsed into the file cache FLCCH inthe determination condition in ST160-9 b is neither a mismatch of thecondition of the absence of the copied file in the file cache FLCCH inST160-10 b nor a copy failure due to an insufficient remaining capacityin the file cache FLCCH in ST160-11 b, “callback” of “file cache copyerror” (“FILECACHE_COPY_ERR”) is called in ST160-23 b. After that, thecurrent status of the XML parser PARSER is set to be “XMLParser.READY”in ST160-24 b to indicate “preparation completion”, and the processingof the “Parsing” sequence ends in ST160-25 b. Meanwhile, if a documentfile of the XML document to be parsed designated by the URI is copiedinto the file cache FLCCH in ST160-8 b, and the copying processing hassucceeded in ST160-9 b, the copied file is opened in ST160-12 b. Afterthat, some stream data (data in the XML document to be parsed) are readfrom the opened file in ST160-4 b, their contents are parsedsequentially, and the parsing result is stored in the document createdin ST159-5 a. In the parsing processing, if reading of data from theopened file or parsing has failed in ST160-5 b, the copy file of the XMLdocument to be parsed which is already stored in the file cache FLCCH isdeleted from the file cache FLCCH in ST160-18 b, and “callback” of“parsing error” (“PARSE_ERR”) is then called in ST160-19 b. After that,the current status of the XML parser PARSER is set to be“XMLParser.READY” in ST160-16 b to indicate “preparation completion”,and the document file of the parsing result is closed in ST160-17 b.Immediately after the file is closed, the processing of the “Parsing”sequence ends in ST160-25 b. If reading of data from the opened file orparsing has succeeded in ST160-5 b, it is checked in ST160-6 b if datato be parsed still remain in the copy file of the XML document to beparsed. If data to be parsed still remain, the parsing processing iscontinued. By contrast, if it is determined in ST160-6 b that no data tobe parsed remains in the copy file of the XML document to be parsed, itis checked in ST160-13 b if the data in the coy file of the XML documentto be parsed, which is copied into the file cache FLCCH and is opened,are described in a correct format, and parsing has succeeded. If thedata are not described in a correct format and parsing has failed inST160-13 b, the copy file of the XML document, which is already storedin the file cache FLCCH, is deleted from the file cache FLCCH inST160-18 b, and “callback” of “parsing error” (“PARSE_ERR”) is thencalled in ST160-19 b. By contrast, if it is determined in ST160-13 bthat the data in the coy file of the XML document to be parsed, which iscopied into the file cache FLCCH and is opened, are described in acorrect format, and parsing by the parser PARSER has succeeded, the copyfile of the XML document to be parsed, which is copied in the file cacheFLCCH, is deleted in ST160-14 b. As shown in FIGS. 160A and 160B, theXML document including the playlist PLLST, manifest MNFST, markup MRKUP,and the like is temporarily saved in the file cache FLCCH, and isparsed. However, this embodiment is not limited to this. As shown inFIG. 25, the file cache FLCCH also temporarily saves files of thesecondary video set SCDVS, advanced application ADAPL, advanced subtitleADSBT, and the like. Therefore, upon completion of parsing in ST160-14b, the copy file of the XML document to be parsed is deleted from thefile cache FLCCH, thus allowing effective use of the file cache FLCCH.Upon completion of the processing in ST160-14 b, “callback” of “parsingcompletion” (XMLParser.OK) is called in ST160-15 b. After that, thestatus of the XML parser PARSER is set to be “XMLParser.READY” inST160-16 b to indicate “preparation completion”. The document file thatstores the parsing result is closed in ST160-17 b, and the processing ofthe “Parsing” sequence ends in ST160-25 b. The control then returns tothe “parse” function shown in FIG. 159.

As shown in FIG. 25, a big characteristic feature lies in that some dataof the secondary video set SCDVS, advanced application ADAPL, andadvanced subtitle ADSBT are temporarily saved in the file cache FLCCHbefore playback presentation to the user. After that, the saved data aretransferred from the file cache FLCCH to the secondary video playerSCDVP, advanced application presentation engine AAPEN, and advancedsubtitle player ASBPL, thus playing back and presenting these data tothe user. By contrast, as shown in FIG. 25, a big characteristic featureof this embodiment lies in that some data of the secondary video setsaved in the network server NTSRV are temporarily saved in the streamingbuffer STRBUF. After that, data are transferred from the streamingbuffer STRBUF to the secondary video player SCDVP, thus playing back andpresenting the secondary video set SCDVS to the user.

FIGS. 161 to 163 show buffer models upon temporarily saving data in thefile cache FLCCH or streaming buffer STRBUF.

A period used upon loading data to the file cache FLCCH in advance iscalled a loading period LOADPE, as shown in FIG. 64, which is set priorto the advanced application active period APACPE, as shown in FIG. 65.The loading periods LOADPE shown in FIGS. 161, 162, and 163 indicate thesame contents as those of the aforementioned loading period LOADPE. InFIGS. 161 to 163, the horizontal axis plots an elapsed time period TIMEwith reference to the target resource capturing start time PRLOAD on thetitle timeline, and the vertical axis plots a saved data size FCOCUP inthe file cache FLCCH or a saved data size SBOCUP in the streaming bufferSTRBUF. The information of the “target resource capturing start timePRLOAD on the title timeline” is described in a “playback presentationobject capturing start time PRLOAD on the title timeline” (preloadattribute information) in the substitute audio video clip element SBAVCPor substitute audio clip element SBADCP described in the object mappinginformation OBMAPI in the playlist PLLST, as shown in FIGS. 54C and 54D,and is also described in a “playback presentation object capturing starttime PRLOAD on the title timeline” (preload attribute information) inthe secondary audio video clip element SCAVCP described in the objectmapping information OBMAPI in the playlist PLLST, as shown in FIG. 54D.When the target playback presentation object is the advanced applicationADAPL or advanced subtitle ADSBT, the information of the “targetresource capturing start time PRLOAD on the title timeline” shown inFIGS. 161 to 163 is described in a “target resource capturing (loading)start time PRLOAD on the title timeline” (loadingBegin attributeinformation) allocated in the advanced subtitle segment element ADSTSGor application segment element APPLSG described in the object mappinginformation OBMAPI in the playlist PLLST, as shown in FIG. 63. An“activation period start time ACSTTM” and “activation time end timeACEDTM” shown in FIGS. 161 and 162 match the “start time TTSTTM on thetitle timeline” (titleTimeBegin attribute information) and “end timeTTEDTM on the title timeline” (titleTimeEnd attribute information)described in the advanced subtitle segment element ADSTGS or applicationsegment element APPLSG shown in FIGS. 56C and 56D. A period sandwichedbetween the “activation period start time ACSTTM” and “activation timeend time ACEDTM” shown in FIGS. 161 and 162 corresponds to the advancedapplication active period APACPE. Furthermore, a start time TTSTTM onthe title timeline shown in FIG. 163 corresponds to not only the “starttime TTSTTM on the title timeline” (titleTimeBegin attributeinformation) described in the substitute audio video clip element SBAVCPor substitute audio clip element SBADCP shown in FIGS. 54C and 54D, butalso the “start time TTSTTM on the title timeline” (titleTimeBeginattribute information) described in the secondary audio video clipelement SCAVCP shown in FIG. 54D. Moreover, information of an allowableminimum value NTTRPT of the network throughput described in FIGS. 162and 163 is described in allowable minimum value information NTTRPT ofthe network throughput (networkThroughput attribute information) in anetwork source element NTSELE described in the object mappinginformation in the playlist PLLST, as shown in FIG. 63C. As shown inFIG. 161 or 162, a big characteristic feature of this embodiment lies inthat when data is temporarily saved in the file cache FLCCH, playbackpresentation of a playback presentation object to the user starts onlyafter a time margin TIMMRG is assured upon temporary saving (loading) iscompleted. By contrast, as shown in FIG. 163, a big characteristicfeature of this embodiment also lies in that when data is temporarilysaved on the streaming buffer STRBUF, playback presentation of aplayback presentation object to the user can start before completion oftemporary saving (loading) of data in the streaming buffer STRBUF. Thedetailed contents of the drawings shown in FIGS. 161 to 163 will beexplained below.

<Buffer Model for Complete Downloading (File Cache)>

For complete download scheduling, the behavior of File Cache iscompletely specified by the following data input/output model and actiontiming model.

Data Input/Output Model

Data input rate for single session is equal to the minimum throughput ofthe player (networkThroughput). If there are two or more sessions, datainput rate is not specified.

The downloaded data is removed from the File Cache when the applicationvalid period ends. This rule is used only for download scheduling.

Action Timing Model

Download start time is defined as follows:

#When the download trigger is Playlist, download starts at the timespecified by loadingBegin attribute of TitleResource orApplicationResource element. If loadingBegin attribute is not present inthe element, download shall start at the start time of the valid periodof the element.

#When the download trigger is Script (Network APIs), download starts atthe time the script for downloading is evaluated.

Presentation start time is defined as follows:

#When the download trigger is Playlist, presentation starts at the timespecified by titleTimeBegin attribute if the download of the resourcehas completed. If the download has not completed, the behavior dependson the resource attribute.

#When the download trigger is Script (Network APIs), presentation startswhen the download completes.

If an Advanced Application is scheduled to be active at the beginning ofits valid period, network access shall be scheduled so that downloadingcompletes before the valid period. This condition is equivalent to thecondition that the time-margin calculated by the following formula ispositive.time_margin=(valid_period start_time−download-start-time−datasize)/networkThroughput

Here, time-margin is a margin for absorbing network throughputvariation.

As shown in FIG. 161, upon temporarily saving (loading) data in the filecache FLCCH, loading into the file cache FLCCH must be completed beforeplayback presentation to the user, as described above. In order tocompletely finish download, as described above, buffer processing needbe executed in the file cache FLCCH based on a data input/output modeland activation timing model to be described below.

A) Data Input/Output Model

-   -   The transfer rate of data input to the file cache FLCCH matches        the “allowable minimum value NTTRPT of the network throughput”.    -   As shown in FIGS. 65 or 64, after completion of the activation        and use time USEDTM for the advanced application ADAPL, resource        files (downloaded data) used by the completed advanced        application ADAPL must be deleted from the file cache FLCCH.

B) Activation timing model

-   -   The download start time is defined under the following        conditions.    -   If the download start timing is given by the playlist PLLST, the        download start time is designated by loadingBegin attribute        information described in the title resource element or        application resource element APRELE. As described above, as        shown in FIG. 63D, the information is described in the “target        resource capturing (loading) start time PRLOAD on the title        timeline” (loadingBegin attribute information) in the        application resource element APRELE described in the object        mapping information OBMAPI in the playlist PLLST. As shown in        FIG. 66D, this information is also described in the “target        resource capturing (loading) start time PRLOAD on the title        timeline” (loadingBegin attribute information) in the title        resource element in the resource information RESRCI. If no        loadingBegin attribute information is described in the        application resource element APRELE or title resource element,        download starts from the start time of the valid period of the        corresponding application resource element APRELE or title        resource element.        -   If the download timing is given in the script SCRPT (for            example, if download is executed based on the “capture”            function shown in FIG. 126 or FIGS. 106A to 110B), the            download start time corresponds to an activation time period            of the “capture” function.    -   The playback presentation start time is defined as follows.        -   If a download trigger is designated by the playlist PLLST,            the playback presentation start time is designated by the            “titleTimeBegin attribute information” as download of            resource files into the file cache FLCCH is complete. That            is, as described above, this time means the start time            TTSTTM on the title timeline (titleTimeBegin attribute            information) in the advanced subtitle segment element ADSTSG            or application segment element APPLSG, as shown in FIG. 56C            or 56D. If saving of resource files in the file cache FLCCH            is not complete even at the start time TTSTTM on the title            timeline (titleTimeBegin attribute information), the            following processing method is adopted. That is, processing            in such case is done according to the value set in            synchronization attribute information SYNCAT (sync attribute            information) of a playback presentation object in the            advanced subtitle segment element ADSTSG or application            segment element APPLSG shown in FIG. 56C or 56D. The            processing method will be described later in detail using            FIGS. 166 and        -   If a download trigger is based on the script SCRPT (API            commands shown in FIGS. 106A to 110B), playback presentation            starts immediately after download of source files (source            data) in the file cache FLCCH is finished.

As shown in FIG. 161, when the advanced application begins to beactivated from the activation period start time ACSTTM, data accesscontrol to the network server NTSRV must be made so as to completedownload into the file cache FLCCH before the advanced applicationactivation period APACPE. In order to satisfy the above condition, thetime margin TIMMRG must satisfy the condition given by:(Time margin TIMMRG)={(activation period start time ACSTTM)−(targetresource capturing start time PRLOAD on title timeline)−(data sizeDATASZ)}÷allowable minimum value NTTRPT of network throughput

The time margin TIMMRG given by the above equation is set as a marginfor absorbing a change in network throughput.

FIG. 162 shows a buffer model in the file cache which guaranteesprevention of any overflow in the file cache FLCCH as another model ofthe buffer model shown in FIG. 161. The buffer model shown in FIG. 162represents a state wherein all files are saved in advance in the filecache FLCCH at the target resource capturing start time PRLOAD on thetitle timeline, and unnecessary resource files are sequentially deleteduntil the beginning of the advanced application activation periodAPACPE. Therefore, during the loading period LOADPE, the deleteprocessing of unnecessary resource files is simultaneously executedparallel to loading of resource files to be loaded. As a result, thesaved data size FCOCUP in the file cache is nearly kept constantmacroscopically during the loading period LOADPE. When the networkthroughput is sufficiently high in this model, unnecessary data in thefile cache are deleted at a time at a specific time in the loadingperiod LOADPE, and resource files to be used by the next advancedapplication ADAPL to be used can be captured into the file cache FLCCHat a time immediately after the delete processing while the throughputis sufficiently high. In the model shown in FIG. 162, it is required tocreate a content so as not to cause any overflow in the file cache. Whenthis condition is not met, overflow in the file cache FLCCH may occur,and download of resource files used in the advanced application ADAPLmay fail.

<Buffer Model for Streaming (Streaming Buffer)>

For streaming scheduling, the behavior of Streaming Buffer is completelyspecified by the following data input/output model and action timingmodel.

Data Input/Output Model

Data input rate for single session is equal to the minimum throughput ofthe player (networkThroughput). If there are two or more sessions, datainput rate is not specified.

After the presentation time, data is output from the buffer at the rateof video bitrate.

When the Streaming Buffer is full, data transmission stops.

Streaming Buffer is cleared when Streaming Buffer is allocated in DataCache and when random access (jump) occurs

Action Timing Model

Streaming start time is defined as follows:

# When the streaming trigger is Playlist, streaming starts at the timespecified by preload attribute. If preload attribute is not present,streaming shall start at the time specified by titleTimeBegin attributeof the element.

# When the streaming trigger is Script (Player APIs), streaming startsat the time the script for downloading is evaluated.

Presentation start time is defined as follows:

# When the streaming trigger is Playlist, presentation starts at thetime specified by titleTimeBegin attribute.

# When the streaming trigger is Script (Player APIs), presentationstarts when the offset time specified in SecondaryVideoPlayer.play( )function passed from the streaming start time.

In the case of streaming, time margin calculated by the followingformula should be positive.Time_margin=presentation_start_time−download_start_time

The size of Streaming Buffer, which is described in configuration inPlaylist, should satisfy the following condition.Streaming_buffer_size>=time_margin XnetworkThroughput>=prebuffering_size

Here, pre-buffering_size is the amount of pre-buffering data required bythe streaming content for continuous decoding. In addition to theseconditions, the following trivial condition must be met.networkthroughput>=video bitrate

These are the conditions to guarantee not to cause buffer underflow.

FIG. 163 shows a buffer model upon downloading the secondary video setSCDVS from the network server NTSRV into the streaming buffer STRBUF inthis embodiment. A data input/output model and activation timing modelin this case have the following states.

A) Data Input/Output Model

-   -   The data transfer rate of data input to the streaming buffer        STRBUF matches the allowable minimum value NTTRPT of the network        throughput.    -   After the beginning of playback of a playback presentation        object, the saved data are output from the streaming buffer        STRBUF according to the “video bit rate”.    -   When the streaming buffer STRBUF is full of saved data, data        transfer (playback presentation to the user) is interrupted.    -   When the area of the streaming buffer STRBUF is assured in the        data cache DTCCH, and a random access (jump processing) occurs,        the streaming buffer STRBUF is cleared.

B) Activation Timing Model

-   -   The temporary saving start timing of data in the streaming        buffer STRBUF is defined as follows.        -   When a trigger of data temporary saving into the streaming            buffer STRBUF is given by the playlist PLLST, loading starts            based on the preload attribute information described in the            playlist PLLST. This value corresponds not only to the            “playback presentation object capturing start time PRLOAD on            the title timeline” (preload attribute information) in the            substitute audio video clip element SBAVCP or substitute            audio clip element SBADCP, as shown in FIG. 54C or 54D, but            also to the “playback presentation object capturing start            time PRLOAD on the title timeline” (preload attribute            information) described in the secondary audio video clip            element SCAVCP shown in FIG. 54D.        -   When temporary saving into the streaming buffer STRBUF            starts based on the script SCRPT (or API commands shown in            FIGS. 106A to 110B), the download processing into the            streaming buffer STRBUF starts at the start time of the            script SCRPT.    -   The playback presentation start timing of a playback        presentation object is defined as follows.        -   When download into the streaming buffer STRBUF is defined in            the playlist PLLST, the playback presentation start time is            designated by the titleTimeBegin attribute information in            the playlist PLLST. This value corresponds not only to the            start time TTSTTM on the title timeline (titleTimeBegin            attribute information) in the substitute audio video clip            element SBAVCP or substitute audio clip element SBADCP shown            in FIG. 54C or 54D, but also to the start time TTSTTM on the            title timeline (titleTimeBegin attribute information) in the            secondary audio video clip element SCAVCP shown in FIG. 54D.        -   If a trigger of temporary saving in the streaming buffer            STRBUF is given by the script SCRPT or an API command shown            in FIGS. 106A to 110B, playback presentation starts from the            time designated by the “playSecondaryVideoPlayer” function            shown in FIG. 140 or FIGS. 106A to 110B.

In the buffer model shown in FIG. 163, the time margin TIMMRG can becalculated by:(Time margin TIMMRG)=(start time TTSTTM on title timeline)−(targetresource capturing start time PRLOAD on title timeline)

In this embodiment, the playlist PLLST can describe the configurationinformation CONFGI, as shown in FIG. 80A, and the configurationinformation CONFGI can describe the streaming buffer element STRBUF, asshown in FIG. 80B. As shown in FIG. 80C, the streaming buffer elementSTRBUF can describe a streaming buffer size STBFSZ which can be set inadvance. The size STBFSZ of the streaming buffer STRBUF, which is setbased on this value, must meet the following condition.(Streaming buffer size STBFSZ)≧(time margin TIMMRG)×(networkthroughput)≧(pre-buffering size)

In the above inequality, “pre-buffering size” indicates a pre-bufferingdata size, which is required by a streaming content so as to executecontinuous decode processing. In addition to the above conditionalformula, the following relatively moderate condition is also required.(Network throughput)≧(video bit rate)

This conditional formula guarantees not to cause any underflow in thestreaming buffer STRBUF.

As shown in FIG. 25, a big characteristic feature of this embodimentlies in that the secondary video set recorded in the network serverNTSRV is temporarily saved in the streaming buffer STRBUF, and istransferred from the streaming buffer STRBUF to the secondary videoplayer SCDVP, thus allowing the playback presentation of the secondaryvideo set SCDVS to the user. FIG. 163 shows a buffer model upon savingthe secondary video set SCDVS in the streaming buffer STRBUF. FIG. 164is a view for explaining the loading timing and playback presentationtiming of the secondary video set SCDVS to be focused on them inassociation with similar contents. As shown in FIG. 164, loading of atime map STMAP of the secondary video set starts at the target resourcecapturing start time PRLOAD on the title timeline (the loading starttime into the streaming buffer STRBUF). Immediately after the time mapSTMAP of the secondary video set is loaded into the streaming bufferSTRBUF, the contents of the time map STMAP of the secondary video setare parsed. As shown in FIG. 88C, time map general information TMAP_GIin the time map STMAP of the secondary video set describes a file nameEVOB_FNAME of an enhanced video object. By parsing the file nameEVOB_FNAME of an enhanced video object, a secondary enhanced videoobject S-EVOB saved at the same saving location (path) as the time mapSTMAP of the secondary video set can be downloaded. Therefore, in thisembodiment, as shown in FIG. 164, after completion of download of thetime map STMAP of the secondary video set, the file name EVOB_FNAME ofan enhanced video object described in the time map STMAP of thesecondary video set is extracted. After an elapse of a time periodrequired until the secondary enhanced video object file S-EVOB isaccessed, loading processing of the secondary enhanced video objectS-EVOB to the streaming buffer STRBUF starts. As shown in FIG. 164, theplayback presentation start time of the substitute audio SBTAD isdesignated by the “titleTimeBegin” attribute information. In theembodiment shown in FIG. 164, the playback start time is “00:03:00”.Therefore, as shown in FIG. 164, playback presentation of the substituteaudio SBTAD starts from “00:03:00” on the elapsed time TIME. In theembodiment shown in FIG. 164, since the value of the “clipTimeBegin”attribute information is “00:00:00:00”, the playback presentation to theuser starts from the head position of the secondary enhanced videoobject S-EVOB at the start time of the substitute audio SBTAD, as shownin FIG. 164. In order to play back and present, to the user, thesecondary video set SCDVS downloaded in the streaming buffer STRBUF insynchronism with the time progress of the title timeline TMLE, theaccess processing to the network server NTSRV need be scheduled inadvance. The network access schedule to the network server NTSRV isdescribed in advance by the download start time (LoadingBegin attributeinformation or preload attribute information) in the playlist PLLST.More specifically, the above value corresponds to the “playbackpresentation object capturing start time PRLOAD on the title timeline”(preload attribute information) in the substitute audio video clipelement SBAVCP or substitute audio clip element SBADCP described in theobject mapping information OBMAPI in the playlist PLLST, as shown inFIG. 54C or 54D. This embodiment is not limited to such specific value.The above value corresponds to the “playback presentation objectcapturing start time PRLOAD on the title timeline” (preload attributeinformation) in the secondary audio video clip element SCAVCP describedin the playlist PLLST, as shown in FIG. 54D. As in the embodiment shownin FIG. 15, in order to establish connection of the advanced contentplayback unit ADVPL in the information recording and playback apparatus1 to the network serer NTSRV, network connection processing must beestablished as an overhead. By contrast, the “playback presentationobject capturing start time PRLOAD on the title timeline” does notinclude a time required to establish network connection of necessity.Therefore, in this embodiment, an overhead time (time required toestablish network connection) required for network connection need beset in advance before the time set based on the “playback presentationobject capturing start time PRLOAD on the title timeline”. Thisembodiment assumes the following condition for the network accessschedule to the network server NTSRV.

-   -   The network throughput value is postulated to always be        constant.    -   The access processing to the network server NTSRV, the URI of        which starts from “http” or “https”, is premised on the use of        only a single session and is premised on the inhibition of a        “multi-session”. Therefore, upon execution of the authoring        processing of the advanced content ADVCT in this embodiment,        data download assumes only one type of data, but does not assume        scheduling for simultaneous download of “2” or more (exceeding        “1”) data.    -   As for download of the secondary video set SCDVS into the        streaming buffer STRBUF, download of the time map STMAP of the        secondary video set is indispensable prior to that of the        secondary enhanced video object S-EVOB, as shown in FIG. 164.    -   Pre-scheduling must be done so as to prevent any overflow and        underflow in the streaming buffer STRBUF and file cache FLCCH in        the model that makes download into the streaming buffer STRBUF        shown in FIG. 163 or the model that completes download into the        file cache FLCCH before the advanced application activation        period APACPE shown in FIG. 161 or 162.

Schedule information used to access the network server NTSRV in advanceis described in the target resource capturing (loading) start timePRLOAD on the title timeline” (LoadingBegin attribute information) inthe title resource element (see FIG. 66D) or in the target resourcecapturing (loading) start time PRLOAD on the title timeline”(LoadingBegin attribute information) described in the applicationresource element APRELE (see FIG. 63D). By contrast, scheduleinformation used to download data in the streaming buffer STRBUF isspecified by only the “playback presentation object capturing start timePRLOAD on the title timeline” (preload attribute information) in thesubstitute audio video clip element SBAVCP (see FIG. 54C), the “playbackpresentation object capturing start time PRLOAD on the title timeline”(preload attribute information) in the substitute audio clip elementSBADCP (see FIG. 54D), or the “playback presentation object capturingstart time PRLOAD on the title timeline” (preload attribute information)in the secondary audio video clip element SCAVCP (see FIG. 54D). Thelower side of FIG. 164 describes an explanatory example that specifiesthe network access schedule to the network server NTSRV upon downloadingthe secondary video set SCDVS to the streaming buffer STRBUF. Asdescribed above, before download of the secondary enhanced video objectS-EVOB starts, the download processing of the time map STMAP of thesecondary video set must be completed. Unlike in the embodiment shown inFIG. 164, when the advanced content downloaded in the data cache DTCCHis to be played back and presented asynchronously, the network access tothe network server NTSRV need not be pre-scheduled. Therefore, adescription of information of the aforementioned pre-scheduled downloadstart time (the playback presentation object capturing start time PRLOADon the title timeline or the like) can be omitted in the playlist PLLST.In this case, a description of the download start time in the playlistPLLST is omitted, and the advanced content playback unit ADVPL startsdownload processing immediately after a playback presentation event of acorresponding content is generated. In this manner, when the playbackpresentation processing of a playback presentation object synchronizedwith the title timeline TMLE is not required, network download using a“multi-session” is permitted. However, in this embodiment, networkconnection of eight sessions or more (network download processing ofeight or more different types of data) is not permitted. By setting theupper limit value like in this embodiment, high reliability of thedownload processing into the data cache DTCCH in the advanced contentplayback unit ADVPL via the network connection is assured, and stableplayback of the advanced content ADVCT for the user can be guaranteed.

As shown in FIG. 23A, in this embodiment, the playlist PLLST candescribe the configuration information CONFGI, media attributeinformation MDADRI, and title information TTINFO. As shown in FIG. 23B,the title information TTINFO includes the title element informationTTELEM associated with a specific title. As shown in FIG. 24, the titleelement information for each title describes the object mappinginformation OBMAPI, which can describe the primary audio video clipelement PRAVCP, substitute audio video clip element SBAVCP, substituteaudio clip element SBADCP, secondary audio video clip element SCAVCP,advanced subtitle segment element ADSTSG, and application segmentelement APPLSG. As shown in FIG. 54D, the secondary audio video clipelement SCAVCP can describe synchronization attribute information SYNCAT(sync attribute information) of a playback presentation object, and oneof values “hard”, “soft”, and “none” can be set. As shown in FIG. 54C,the substitute audio video clip element SBAVCP can describesynchronization attribute information SYNCAT (sync attributeinformation) of a playback presentation object, and one of values “hard”and “none” can be set. Furthermore, as shown in FIG. 54D, the substituteaudio clip element SBADCP can describe synchronization attributeinformation SYNCAT (sync attribute information) of a playbackpresentation object, and one of values “hard” and “soft” can be set. Inthis embodiment, as shown in FIG. 56D, the application segment elementAPPLSG can describe synchronization attribute information SYNCAT (syncattribute information) of a playback presentation object, and one ofvalues “hard” and “soft” can be set. FIG. 165 shows a correspondencelist of values which can be set as the synchronization attributeinformation SYNCAT (sync attribute information) of a playbackpresentation object.

The right column in FIG. 165 describes the names of clip elements asmanagement information associated with the aforementioned secondaryvideo set SCDVS, and the central column describes the contents ofbroadly-defined resource information RESRCI. An application resourceAPRSRC and title resource TTRSRC included in the broadly-definedresource information RESRCI are temporarily saved in the file cacheFTCCT before playback presentation to the user, as shown in FIG. 25. Inthis case, the playback presentation to the user can start only afterpre-download into the file cache FLCCH is completely finished, as shownin FIG. 161 or 162. A playback presentation object which belongs to thesecondary video set SCDVS is often saved in advance in the file cacheFLCCH or streaming buffer STRBUF depending on individual conditionsbefore playback presentation to the user, as shown in FIG. 25. As shownin FIG. 25, the secondary video set SCDVS saved in advance in the filecache FLCCH starts playback presentation to the user only afterpre-download in the file cache FLCCH is completely finished, as shown inFIG. 161 or 162. By contrast, as shown in FIG. 25, a given secondaryvideo set SCDVS saved in the network server NTSRV is temporarily savedin the streaming buffer STRBUF before playback presentation to the user.In this case, as shown in FIG. 163 or 164, playback presentation of thesecondary video set SCDVS to the user can start from the middle ofpre-download to the streaming buffer STRBUF (before completion of thedownload processing).

<Network Access Model for Jump (Random Access)>

Jump to an arbitrary time on Title Timeline shall be supported forcontents downloaded by both complete downloading and streaming. When thejump is requested, complete downloading is operated at first to prepareresources needed to start playback. Then the data for streaming isdownloaded. The procedures for network resource preparation and thecontrol of Title Timeline when a jump (random access) is requested areas follows. Note that only the resources described in Playlist are thescope of the following procedure because the resource downloading byScript is executed on demand.

1. If downloading of a resource described in Playlist is in progress,stop the downloading if one of the following conditions is satisfied.

-   -   There are resources to be downloaded by complete downloading at        the destination time on Title Timeline.    -   The downloading resource in progress is not necessary at the        destination time on Title Timeline.

2. Change the time on Title Timeline to the destination time and specifythe all resources to be downloaded by complete downloading and bystreaming. Then, start resource loading from the HD DVD Disc andPersistent Storage and execute the following downloading procedure inparallel.

3. If data resources of Hard-Synchronization Presentation Object and/orresources of Hard-Sync Application need to be downloaded, stop theprogress of Title Timeline. Then, do the following process.

i. If there are resources of Hard-Sync Application to be downloaded,download the resources by complete downloading. Then, activate theAdvanced Application.

ii. If there is no data resource of Hard-Synchronized PresentationObject to be downloaded, start the progress of Title Timeline.

4. Download resources of Soft-Sync Application by complete downloadingif exist. Then, activate the Advanced Application.

5. If there is a data resource of Hard-Synchronization PresentationObject to be downloaded, download the TMAP by complete downloading andstart downloading of the S-EVOB specified by the TMAP by streaming. Thepart of the S-EVOB shall be downloaded. The first byte position to bedownloaded is the position of which presentation time is the destinationtime on Title Timeline. The progress of Title Timeline and presentationof the Presentation Object can be started only if preloading hascompleted. The conditions that preloading completes are:

-   -   If preload attribute exists, preloading completes when data of        ([value of titleBeginTime attribute]−[value of preload        attribute])×networkThroughput kilo bits are downloaded.    -   If preload attribute does not exist, preloading completes when        the streaming buffer becomes full.    -   Regardless of the existence of preload attribute, preloading        completes when the last byte is downloaded.

6. If there is a data resource of Soft-Synchronization to be downloaded,download the TMAP by complete downloading and start downloading of theS-EVOB specified by the TMAP by streaming. The part of the resourceshall be downloaded. The first byte position to be downloaded is theposition of which presentation time is [current time on TitleTimeline]+[value of titleBeginTime attribute]−[value of preloadattribute] (if this value exceeds the presentation end time, thisresource is not downloaded at all). Presentation of the PresentationObject can be started after preloading has completed. The conditionsthat preloading completes are:

-   -   If preload attribute exists, preloading completes when data of        ([value of titleBeginTime attribute]−[value of preload        attribute])×networkThroughput kilo bits are downloaded.    -   If preload attribute does not exist, preloading completes when        the streaming buffer becomes full.    -   Regardless of existence of preload attribute, preloading        completes when the last byte is downloaded.

If there is a data resource of Non-Synchronized Presentation Object tobe downloaded, downloaded the TMAP by complete downloading and startdownloading of the S-EVOB specified by the TMAP by streaming. The firstbyte position to be downloaded is the position of which the beginning ofthe presentation time. Presentation of the Presentation Object can bestarted after preloading has completed. The conditions that preloadingcompletes are:

-   -   If preload attribute exists, preloading completes when data of        ([value of titleBeginTime attribute]−[value of preload        attribute])×networkThroughput kilo bits are downloaded    -   If preload attribute does not exist, preloading completes when        the streaming buffer becomes full.    -   Regardless of the existence of preload attribute, preloading        completes when the last byte is downloaded.

During the above process, if the loading of resources of Hard-SyncApplication from the HD DVD Disc or President Storage is not finished,the progress of Title Timeline does not start.

In the preliminary processing shown in FIG. 25, this embodiment callspre-download into the file cache FLCCH as “downloading”, andpre-download into the streaming buffer STRBUF as “streaming” to clarifytheir differences. In either case, a big characteristic feature lies inthat the downloading or streaming processing of the advanced contentADVCT supports jump processing (random access) to an arbitrary positionon the title timeline TMLE. If the jump processing (random access) isnecessary, the download processing of a first corresponding resourcefile must be completed before the beginning of playback after the jumpprocessing (random access). As described above using FIG. 165, in caseof streaming, the playback presentation of the secondary enhanced videoobject data S-EVOB can start before completion of download. However, inorder to guarantee playback presentation from an arbitrary position bythe jump processing (random access), download must be completed even instreaming. In this embodiment, in order to instantaneously startplayback after the jump processing (random access), the followingconditions are required for pre-download preparation of network sources,and a control method on the title timeline. However, since the “capture”function (see FIGS. 106A to 110B or FIG. 126) that designates theactivation method of the resource file download processing based on thescript SCRPT according to this embodiment may occur at an arbitrarytime, the following conditions are limited to a case wherein resourcefiles are downloaded in advance according to the contents described inthe playlist PLLST.

1) When the download processing of resource files is executed accordingto the contents described in the playlist PLLST, the download processingends when one of the following conditions is satisfied:

-   -   when complete download processing ends and saving of resource        files to be downloaded in the data cache DTCCH is completed        before the time designated on the title timeline TMLE (the start        time of playback presentation to the user); and    -   when download of resource files is no longer required before the        necessary time on the title timeline TMLE (the start time of        playback presentation to the user).

2) The current time to be played back on the title timeline TMLE ischanged to a time designated as a jump destination (random accessdestination), and resources to be downloaded by downloading or streamingare clarified. After that, the download processing from the informationstorage medium DISC or persistent storage PRSTR starts. In thisembodiment, at this time, the download processing from the persistentstorage PRSTR and that from the information storage medium DISC can beexecuted parallelly.

3) As shown in FIGS. 166 and 167, in case of a Hard-Synchronizedplayback presentation object or Hard-Sync application, the time progress(count-up) of the title timeline TMLE is paused, as shown in FIG. 167.

-   -   In case of a Hard-Sync application, the advanced application        ADAPL can transit to an active state only after pre-download        into the file cache FLCCH is completely finished.    -   In case of a Hard-Synchronized playback presentation object, the        time progress (count-up) on the title timeline TMLE can start        even when download of some data of the secondary video set SCDVS        to be saved in the data cache DTCCH is incomplete (in case of        streaming processing of data to be temporarily saved in the        streaming buffer STRBUF).

4) In case of a Soft-Sync application, the advanced application ADAPLcan transit to an active state after download into the file cache FLCCHis completely finished.

5) In case of a Hard-Synchronized playback presentation object,Soft-Synchronized playback presentation object, or non-Synchronizedplayback presentation object, as shown in FIG. 164, first of all, afterdownloading of the time map STMAP of the secondary video set iscompletely finished, downloading of the secondary enhanced video objectS-EVOB designated in the time map STMAP of the secondary video setstarts. In this case, at least some data of the secondary enhanced videoobject S-EVOB need be downloaded in the streaming buffer STRBUF. Theplayback time of the downloaded secondary enhanced video object S-EVOBhas to include that of a jump destination (random access destination) onthe title timeline TMLE. As another embodiment, as shown in FIG. 164,the first position of the downloaded secondary enhanced video objectS-EVOB may match the playback start time (the time indicated by a brokenline β in FIG. 164) of a jump destination on the title timeline TMLE. Inthis embodiment, in order to allow to immediately start playback at anarbitrary jump destination (random access destination), the playback ofthe playback presentation object can start and the time progress of thetitle timeline TMLE can start only when the download processing into thestreaming buffer STRBUF is completely finished. This embodiment requiresthe following conditions to determine completion of preloading.

-   -   When the playlist PLLST describes the preload attribute        information, the relational expression associated with the        network throughput shown in FIG. 161 is satisfied.    -   When the playlist PLLST does not describe any preload attribute        information, the streaming buffer STRBUF is full of the        corresponding secondary video set SCDVS to be saved.    -   When the playlist PLLST does not describe any preload attribute        information by mistake, the last byte of the secondary video set        SCDVS to be saved in the streaming buffer STRBUF is saved in the        streaming buffer STRBUF.

In the aforementioned processing, upon loading the Hard-Sync applicationfrom the information storage medium DISC or persistent storage PRSTR,the time progress of the title timeline TMLE never restarts unlessloading is completely finished (see FIG. 167).

FIGS. 166 and 167 specify the Hard-Sync application and Soft-Syncapplication. The Hard-Sync application and Soft-Sync application will bedescribed below.

<Application Sync Model>

There are two kind of application which has following two Sync Models:

-   -   Soft-Sync Application    -   Hard-Sync Application

The information of sync type is defined by sync attribute of applicationsegment in Playlist. In Soft-Sync Application and Hard-Sync Application,the behavior to Title Timeline differs at the time of executionpreparation of application. Execution preparation of application isresource loading and other startup process (such as script global codeexecution). Resource loading is reading resource from storage (DISC,Persistent Storage and Network Server) and store to the File Cache. (*)Every application shall not execute before all resource loading isfinished.

This embodiment specifies two different types of advanced applicationsADAPL, i.e., a Hard-Sync application and Soft-Sync application. Theinformation associated with the sync type is defined by thesynchronization attribute information SYNCAT (sync attributeinformation) of a playback presentation object (see FIG. 56D) in theapplication segment element APPLSG in the playlist PLLST. That is, incase of the Hard-Sync application, a “hard” value is set as the syncattribute information value. In case of the Soft-Sync application, a“soft” value is set as the sync attribute information value. TheHard-Sync application and Soft-Sync application have different playbackpresentation methods of the corresponding advanced applications ADAPL onthe title timeline TMLE. In this embodiment, the activation preparationstage of the advanced application ADAPL requires loading of requiredresource files and another startup processing such as activation of ascript global code and the like. The loading processing of the resourcefiles loads resource files from the information storage medium DISC,persistent storage PRSTR, or network server NTSRV, and the savingprocessing into the file cache FLCCH is required. All advancedapplications ADAPL in this embodiment can undergo activation processingonly after the loading processing of resource files is completed. Asshown in FIG. 63B, resource files, which are used in the advancedapplication ADAPL and need be temporarily saved in the file cache FLCCH,are described as a list of application resource elements APRELE in theapplication segment element APPLSG (used to perform management)associated with each individual advanced application ADAPL. Thisembodiment is not limited to this. For example, the advanced applicationADAPL can use the title resource TTRSRC and playlist applicationresource PLAPRS, as shown in FIG. 70. Furthermore, as shown in FIG. 63D,each application resource element APRELE describes the “target resourcecapturing (loading) start time PRLOAD on the title timeline”(loadingBegin attribute information). Likewise, as shown in FIG. 66D,the title resource element associated with the title resource TTRSRC candescribe the “target resource capturing (loading) start time PRLOAD onthe title timeline” (loadingBegin attribute information) When theapplication resource element APRELE or the title resource elementdescribes the “target resource capturing (loading) start time PRLOAD onthe title timeline” (loadingBegin attribute information), loading of therequired application resource APRSRC or title resource TTRSRC startsfrom the “target resource capturing (loading) start time PRLOAD on thetitle timeline” (loadingBegin attribute information), as shown in FIG.65A. By contrast, when the application resource element APRELE or thetitle resource element describes no “target resource capturing (loading)start time PRLOAD on the title timeline” (loadingBegin attributeinformation), loading starts from the start time TTSTTM on the titletimeline, and the advanced application activation period APACPE startsfrom the end of the loading period LOADPE (after the loading iscompletely finished), as shown in FIG. 65B. The start time TTSTTM on thetitle timeline shown in FIG. 65B is defined in the application segmentelement APPLSG in the playlist PLLST, as shown in FIG. 56D. Wheninformation of the “target resource capturing (loading) start timePRLOAD on the title timeline” (loadingBegin attribute information) isnot described, both the Hard-Sync application and Soft-Sync applicationbasically execute processing according to the procedure shown in FIG.65D (“the loading period LOADPE starts at the start time TTSTTM on thetitle timeline”→“the “advanced application activation period APACPEstarts after the end of the loading period LOADPE”). The basicdifference between the two applications lies in the time progressprocessing method of the title timeline TMLE during the loading periodLOADPE. That is, as shown in FIG. 166, in case of the Soft-Syncapplication, the time progress of the title timeline TMLE is continuedeven during the loading period LOADPE. When loading (loading periodLOADPE) of corresponding resource files ends during continuation of thetime progress of the title timeline TMLE, activation of the advancedapplication starts immediately after the end of loading, and theadvanced application activation period APACPE starts. By contrast, incase of the Hard-Sync application, the time progress (count-up) of thetitle timeline TMLE is paused during the loading period LOADPE, as shownin FIG. 167. Immediately after the end of the loading processing(loading period LOADPE) of resource files in the file cache FLCCH, thetime progress (count-up) of the title timeline TMLE restarts, andactivation of the advanced application ADAPL starts, thus starting theadvanced application activation period APACPE. In this embodiment, whenspecial playback such as fastforward FF, fastreverse FR, or the like isto be executed, the aforementioned processing starts immediately afterthe special playback ends, and the playback mode returns to a standardplayback mode. As shown in FIG. 166, in case of the Soft-Syncapplication, during, e.g., fastforward playback FSTFWD as the specialplayback mode, resource loading processing is not performed, and theloading processing of resource files to the file cache FLCCH starts froma transition timing (position of a point α) to the normal playback mode,thus starting the loading period LOADPE. When the loading processing(loading period LOADPE) ends during normal playback NRMPLY, activationof the advanced application starts, thus starting the advancedapplication activation period APACPE. By contrast, as shown in FIG. 167,in case of the Hard-Sync application, during, e.g., fastforward playbackFSTFWD as the special playback mode, loading processing is notperformed, and loading of resources into the file cache FLCCH starts ata return timing (position of a point α) to the normal playback mode. Atthis time, the title timeline TMLE is paused, and loading of resourcefiles into the file cache FLCCH starts. In case of the Hard-Syncapplication, as shown in FIG. 167, the time progress of the titletimeline TMLE is kept paused during the loading period LOADPE to thefile cache FLCCH. Immediately after the loading processing (loadingperiod LOADPE) of resource files to the file cache FLCCH ends,activation of the advanced application starts in the form of normalplayback NRMPLY (in the normal playback mode), thus starting theadvanced application activation period APACPE. As shown in FIGS. 166 and167, during special playback such as fastforward playback FSTFWD, theloading processing is not performed, and it starts only when theplayback mode returns from the special playback mode to the standardplayback mode (position of the point α). In this way, not only efficientloading processing in the advanced content playback unit ADVPL can beimplemented, but also the processing in the advanced content playbackunit ADVPL can be simplified, thus assuring high reliability of theplayback presentation processing in the advanced content playback unitADVPL.

<Soft-Sync Application>

Soft-Sync Application gives preference to seamless proceeding of TitleTimeline over execution preparation. If ‘autoRun’ attribute is ‘true’and application is selected then resources will load into the File Cacheby soft synced mechanism. (*) Soft-Sync Application is activated afterthat all resources loading into the File Cache. The resource whichcannot read without Title Timeline stopping shall not be defined as aresource of Soft-Sync Application.

In case, Title Timeline jump into the valid period of Soft-SyncApplication, the Application may not execute. And also, during thevaried period of Soft-Sync Application, playback mode changes trick playto normal playback, the Application may not run.

FIG. 166 shows an example of the relation of the progress of the realtime and progress of Title Timeline, in Soft-Sync Application. Ahorizontal axis shows the real time and the vertical axis shows TitleTimeline. One Soft-Sync Application is mapped. The Valid Period ofApplication is between TitleTimeBegin to TitleTimeEnd. (1) shows thecase where a normal speed playback is continued. (2) shows the casewhere playback speed go back to normal speed from fast forward speedwithin the valid period of the application. Both cases, theTitleTimeline is not hold while preparing execution of application.

As shown in FIG. 166, the Soft-Sync application selects the continuoustime progress of the title timeline TMLE throughout the activationpreparation period. As shown in FIG. 56D, auto-run attribute informationATRNAT can be set in the application segment element APPLSG. If thevalue of the auto-run attribute information ATRNAT is set to be “true”,and activation processing of the corresponding advanced applicationADAPL is selected, the Soft-Sync mechanism is adopted as loadingprocessing into the file cache FLCCH. When corresponding resource filescannot be loaded without stopping the count-up of the time progress ofthe title timeline TMLE, these files cannot be defined (used) as thoseof the Soft-Sync application. That is, as shown in FIG. 166, allresource files (resource files specified by the application resourceelements APRELE in the application segment element APPLSG shown in FIG.63B) used in the Soft-Sync application must not stop the time progressof the title timeline TMLE. In this embodiment, when the time on thetitle timeline TMLE jumps into the Soft-Sync application valid periodAPVAPE by special playback such as fastforward playback FSTFWD or thelike, jump processing (random access), or the like, activation of thecorresponding advanced application ADAPL need not always startimmediately (immediately after the end of jump). The horizontal axis inFIG. 166 means a real elapsed time RLTIME (actual elapsed time), and thehorizontal axis represents the time progress on the title timeline TMLE.The left line in FIG. 166 indicates a case wherein standard playbackNRMPLY (continuous playback in the normal playback mode) continues, andthe right line indicates a case wherein the playback mode returns fromspecial playback such as fastforward playback FSTFWD to the normalplayback mode during the advanced application valid period APVAPE, andnormal playback NRMPLY starts. In either case, the time progress of thetitle timeline TMLE never stops during the loading period LOADPE forexecuting the loading processing of resource files to be used.

<Hard-Sync Application>

Hard-Sync Application gives preference to execution preparation overseamless progress of Title Timeline. Hard-Sync Application is activatedafter all resources loading into the File Cache. If ‘autoRun’ attributeis ‘true’ and application is selected then resources will load into theFile Cache by hard synced mechanism. (*) Hard-Sync Application holds theTitle Timeline during the resource loading and execution preparation ofapplication.

FIG. 167 shows an example of the relation of the progress of the realtime and progress of Title Timeline, in Hard-Sync Application. Ahorizontal axis shows the real time and the vertical axis shows TitleTimeline. One Hard-Sync Application is mapped. The Valid Period ofApplication is between TitleTimeBegin to TitleTimeEnd. (1) shows thecase where a normal speed playback is continued. (2) shows the casewhere playback speed go back to normal speed from fast forward speedwithin the valid period of the application. Both cases, theTitleTimeline is hold while preparing execution of application.

The Hard-Sync application shown in FIG. 167 transits to an active stateonly after the loading processing of resource files to be used by thatapplication into the file cache FLCCH is completed. As shown in FIG.56D, when the value of the auto-run attribute information ATRNAT in theapplication segment element APPLSG in the playlist PLLST is set to be“true” and activation of the corresponding advanced application ADAPL isselected, the loading processing of required resource files into thefile cache FLCCH is executed based on the Hard-Sync mechanism shown inFIG. 167. That is, during the loading processing of resource files to beused in the advanced application ADAPL (during preparation of theadvanced application ADAPL), the time progress of the title timelineTMLE is paused, thus pausing count-up on the title timeline TMLE. InFIG. 167 as well, the horizontal axis represents a real elapsed timeRLTIME (actual elapsed time), and the vertical axis represents the timeprogress on the title timeline TMLE. The left line in FIG. 167 indicatesa case wherein normal playback NRMPLY continues at a normal speed. Theright line indicates a case wherein the playback mode returns from thespecial playback mode such as fastforward playback FSTFWD or the like tothe standard playback mode (transits to normal play NRMPLY) during theadvanced application valid period APVAPE. In either case, the timeprogress of the title timeline TMLE is paused during the loading periodLOADPE in which loading of resource files into the file cache FLCCH isexecuted to prepare for the advanced application ADAPL. Immediatelyafter completion of the loading processing (loading period), theadvanced application activation period APACPE for activating theadvanced application ADAPL starts. In this way, by changing thecorresponding synchronization processing method depending on advancedapplications ADAPL, the contents provider can select the most effectiveplayback presentation method for the user, thus improving the expressivepower to the user.

As shown in FIG. 14, according to this embodiment, the following effectsare expected.

1. In a markup MRKUP, a name corresponding to an event is defined, andan event listener monitors the defined name corresponding to the eventin a script SCRPT, thus detecting generation of the event. The contentsof a function to be executed upon generation of the event is defined inthe script SCRPT. The advanced application manager ADAMNG (see FIG. 28)in the navigation manager NVMNG incorporated in the advanced contentplayback unit ADVPL in this embodiment activates the function contentsdesignated in the script SCRPT and manages the function contents upongeneration of the event.

1-1. Since this embodiment defines a wide variety of API commands,various functions can be activated, thus providing acute expressivepower to the user.

1-2. As shown in FIG. 28, in the advanced content playback unit ADVPL,the presentation engine PRSEN assigned to moving picture presentation,the playlist manager PLMNG that manages moving picture presentation, andthe advanced application manager ADAMNG that executes the scriptprocessing are independent from each other. For this reason, since themoving picture presentation and script processing can be parallellyexecuted at a time, more flexible expression can be provided to theuser.

While certain embodiments of the inventions have been described, theseembodiments have been presented by way of example only, and are notintended to limit the scope of the inventions. Indeed, the novel methodsand systems described herein may be embodied in a variety of otherforms; furthermore, various omissions, substitutions and changes in theform of the methods and systems described herein may be made withoutdeparting from the spirit of the inventions. The accompanying claims andtheir equivalents are intended to cover such forms or modification aswould fall within the scope and spirit of the inventions.

1. (canceled)
 2. An information storage medium storing a program,wherein the program comprises: referring to a manifest from a playlistthat manages playback presentation of a playback presentation object;referring to a markup related to a secondly video application interface(API) functions from the manifest; and executing a correspondingfunction on the basis of the secondly video application interface whenan event is generated.